yyjw14 @ 2023-08-17 00:13:22
#include<bits/stdc++.h>
using namespace std;
#define ll long long
struct s
{
double a;
double b;
double c;
};
bool cmp(s m,s n)
{
return m.c>n.c;
}
s x[5005];
int main()
{
int i,j,k;
double o,p;
ll sum=0;
cin>>i>>j;
cin>>o>>p;
for(k=1;k<=i;k++)
{
cin>>x[k].a>>x[k].b;
x[k].c=x[k].a/x[k].b;
}
sort(x+1,x+i+1,cmp);
for(k=1;k<=i;k++)
{
if(o+p>=x[k].a)
{
j-=x[k].b;
if(j<0)
{
break;
}
else
{
sum++;
}
}
}
cout<<sum;
return 0;
}
by yyjw14 @ 2023-08-17 00:13:42
3,5WA了
by Zona @ 2023-08-17 01:51:53
@csp_sgxx 您的比较函数出错了,应该是按所花力气从小到大排序。也就是您代码中改成m.b<n.b
,这样就可以过了。至于您定义的c,我不太明白作用是什么(:з」∠)