Wonderful Day
题目链接:陶陶摘苹果(升级版) - 洛谷
思路:按照消耗力气由小到大排序,满足高度的计数
#include<bits/stdc++.h>
using namespace std;
int n,s;
int ladder,arm_len;
struct get_apple{
int x,y;
};
bool cmp(struct get_apple &a,struct get_apple &b){
if(a.y == b.y) return a.x<b.x;
return a.y<b.y;
}
int main(){
cin>>n>>s>>ladder>>arm_len;
int len = ladder+arm_len;
int cnt = 0;
get_apple a[n];
for(int i=0;i<n;i++){
cin>>a[i].x>>a[i].y;
}
sort(a,a+n,cmp);//按照力气从小到大排序
for(int i=0;i<n;i++){
if(len >= a[i].x && s>=a[i].y){
cnt++;
s -= a[i].y;
}
}
cout<<cnt;
return 0;
}