已解决 卞福睿 中级守护 #include<bits/stdc++.h> using namespace std; int main() { int m,n,a[1001],s=0; cin>>m>>n; for(int i=0;i<n;i++) { cin>>a[i]; } sort(a,a+n); for(int i=0;i<n;i++) { if(m<a[i]) s++; m-=a[i]; } cout<<s; return 0; } 请问一下,我这题错在哪里?
已采纳 汪宇航 新手启示者 核心: for(int i=1;i<=N;i++){ cin>>a[i]; } for(int i=1;i<=N;i++){ if(a[b]<=M){ M-=a[b]; b+=1; }else{ cnt++; b+=1; } } 也就是吧sort排序去掉