int cmp(int *a,int *b) { return *a<*b; } void dfs(int *nums,int size,int sum,int len,int *min,int *flag){ if(sum<0) return; if(sum==0){ (*min) = fmin((*min),len); *flag=1; return; } for(int i=0;i<size;i++){ int target = sum; sum-=nums[i]; dfs(nums,size,sum,len+1,min,flag); if((*flag)==1) re...