只对 4,大佬求助
查看原帖
只对 4,大佬求助
517482
wzrybaicun楼主2021/5/13 17:01
#include <bits/stdc++.h>
using namespace std;
int a,b;
int n,s;
int i,j;
int cnt=0;
struct Pg
{
	int x;
	int y;
	double yx;
}pg[5001];

bool cmp(Pg e,Pg f)
{
	return e.yx<f.yx;
}

int main()
{
	scanf("%d%d",&n,&s);
	scanf("%d%d",&a,&b);
	for(i=1;i<=n;i++)
	{
		scanf("%d%d",&pg[i].x,&pg[i].y);
		pg[i].yx=double(pg[i].y/pg[i].x);
	}
	sort(pg+1,pg+n+1,cmp);
	b+=a;
	for(i=1;i<=n;i++)
	{
		if(pg[i].x<=b&&pg[i].y<=s)
		{
			s-=pg[i].y;
			cnt++;
		}
	}
	printf("%d",cnt);
	return 0;
} 
2021/5/13 17:01
加载中...