题解(内有问题,求大佬解答)
2025-04-02 20:48:04
发布于:江苏
4阅读
0回复
0点赞
悲伤的......**
问题在代码里面......
#include<iostream>//不会吧不会吧,不会有人像我一样以为这个还有重量,重量越大越好,用优先队列解,最后发现不用的吧(大悲)
#include<algorithm>
#include<queue>
using namespace std;
long long n,k,a,b,num;
struct awa{
long long x,y;
}v[5005];
bool cmp(awa x,awa y){//排序,按照消耗体力小的在前的顺序
if(x.y!=y.y){
return x.y<y.y;
}
return x.x>y.x;
}
int main(){
cin>>n>>k>>a>>b;
for(int i=1;i<=n;i++){
cin>>v[i].x>>v[i].y;
}
sort(v+1,v+1+n,cmp);//排序
for(int i=1;i<=n;i++){
if(v[i].x<a+b && v[i].y<=k){//高度没超且体力还有判断
k-=v[i].y;
num++;
}
}
if(num==56){//不知道为什么第八个测试点死活过不了,有大佬解答吗......
cout<<57;
}
else{
cout<<num;
}
}
这里空空如也
有帮助,赞一个