我是万万没想到......
查看原帖
我是万万没想到......
697421
Quenna楼主2023/8/16 17:42

我是万万没想到......这题贪心骗分可以骗到60pts!哪位大佬来深入解读一下?求求了

#include<bits/stdc++.h>
using namespace std;
int a[10001],n,w,l,cnt;
int main(){
	cin>>n>>w;
	for(int i=1;i<=n;i++) cin>>a[i];
	sort(a+1,a+1+n);//排序
	for(int i=1;i<=n;i++){//找出小于等于w的部分
		if(a[i]>w) break;
		l=i;
	}
	for(int i=l;i>1;i--){
		if(a[i]<=w){
			cnt++;//发现可以用的就从w减去
			w-=a[i];
		}
		if(w==0) break;
	}
	cout<<cnt<<endl;
}
2023/8/16 17:42
加载中...