7teen @ 2022-05-19 15:07:52
#include <bits/stdc++.h>
using namespace std;
int n,lq,chair,t_high,ans=0;
struct apple{
int high;//苹果的高度
int phy;//力气
}a[5005];
bool cmp(apple a,apple b)
{
return a.phy < b.phy;//按力气排序
}
int main()
{
cin >> n >> lq;//苹果数 总力气
cin >> chair >>t_high;//椅子的高度 陶陶的高度
for(int i=1; i<=n; i++)
{
cin>>a[i].high>>a[i].phy;
}
sort(a+1,a+1+n,cmp);
int heigh = chair + t_high;//椅子的高度 +陶陶的高度
for(int i=1;i<=n;i++)
{
if(a[i].high<=heigh&&a[i].phy<lq)
{
ans++;
lq-=a[i].phy;
if(lq<1)
{
return 0;
}
}
}
cout<<ans;
}
by SegTree @ 2022-05-19 15:34:20
for(int i=0;i<n;++i){
if(a[i].high>=heigh)continue;
if(lq-a[i].phy<0){
break;
}
else {
ans++;
lq-=a[i].phy;
}
}
printf("%d\n",ans);
剩下的力气可以刚好摘完苹果的时候也可以。
by SegTree @ 2022-05-19 15:34:37
@7teen
by 7teen @ 2022-05-20 21:23:25
@jpb_Saturn 我测试了下好像不对大佬
by SegTree @ 2022-05-21 09:24:54
那个
@7teen