60分?求助!!!
查看原帖
60分?求助!!!
855779
Kuangxirui楼主2024/5/28 12:46
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,s,ans=0;
	int x,y;
	int a[10010],b[10010];
	cin>>n>>s>>x>>y;
	for(int i=1;i<=n;i++){
		cin>>a[i]>>b[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=i;j<=n;j++){
			if(a[i]<a[j]){
				swap(a[i],a[j]); 
				swap(b[i],b[j]);
				
			}
		}
	}
	for(int i=1;i<=n;i++){
		//cout<<a[i]<<" "<<b[i]<<endl;
		if(a[i]<=x+y&&s-b[i]>=0){
			ans++;
			s=s-b[i];
		}
	}
	cout<<ans;
	return 0;
}

我の贪心策略:把花费力气小的往前,如果身高不足就摘下一个。

但是不知道为什么WA了两个点

2024/5/28 12:46
加载中...