朕爱学习 @ 2019-08-06 22:28:03
#include<bits/stdc++.h>
using namespace std;
int n,s,a,b,i,tot;
struct apple{
int xi;
int yi;
}k[100000];
int cmp(const apple &c,const apple &d)
{
if(c.yi!=d.yi)
return c.yi<d.yi;
}
int main()
{
cin>>n>>s;
cin>>a>>b;
for(i=1;i<=n;i++)
{
cin>>k[i].xi>>k[i].yi;
}
sort(k+1,k+n+1,cmp);
for(i=1;i<=n;i++)
{
if(a+b>=k[i].xi)
{
s=s-k[i].yi;
tot=tot+1;
}
if(s<0) break;
}
cout<<tot-1;
return 0;
}
by schtonn @ 2019-08-06 22:40:14
你要在确认摘之前先判断一下力气够不够不过我总觉得这题好水
by schtonn @ 2019-08-06 22:45:41
@_Garbage
by 朕爱学习 @ 2019-08-06 22:52:49
过了 因为我减去1之后可能是负数 所以如果tot大于0就输出tot减去1;如果小于0就输出0;本人热爱水题@”蒟蒻”
by BlackW @ 2019-08-15 18:40:20
额……据说有个点输入输出全是0,怪不得某些蒟蒻能过
by 观星者 @ 2019-08-18 13:33:39
第四个点全是0,我就那个点错了