60分求助!
查看原帖
60分求助!
1541915
菜菜鸡楼主2024/11/10 19:06

#include <bits/stdc++.h>
using namespace std;
struct apple{
	int gd;
	int lq;
}a1[1000000];
apple b1[1000000];
int cmp(apple a,apple b){
	if(a.lq<=b.lq){
		return 1;
	}else{
		return 0;
	}
}
int main()
{
    int n,s,a,b;
    cin>>n>>s>>a>>b;
    for(int i=1;i<=n;i++){
    	cin>>a1[i].gd>>a1[i].lq;
	}
	int l=1;
	for(int i=1;i<=n;i++){
		if(a+b>=a1[i].gd){
			b1[l].gd=a1[i].gd;
			b1[l].lq=a1[i].lq;
			l++;
		}
	}
//	cout<<endl;
//	for(int i=1;i<l;i++){
//		cout<<b1[i].gd<<" "<<b1[i].lq<<endl;
//	}
	sort(b1+1,b1+l,cmp);
//	for(int i=1;i<l;i++){
//		cout<<b1[i].gd<<" "<<b1[i].lq<<endl;
//	}
	int i=1,cnt=0;
	while(s>=0){
		s-=b1[i].lq;
		cnt++;
		i++;
	}
	cout<<cnt-1;
    return 0;
}


2024/11/10 19:06
加载中...