救助

P1478 陶陶摘苹果(升级版)

Diary_51 @ 2023-12-30 18:32:28

#include<bits/stdc++.h>
using namespace std;
struct pg
{
    int x;
    int y;
}m[5005];
int cmp(pg p,pg q)
{
    return p.x<q.x;
}
int main()
{
    int n,a,s,b,z=0;
    cin>>n>>s>>a>>b;
    for(int i=0;i<n;i++)
    {
        cin>>m[i].x>>m[i].y;
    }
    sort(m+0,m+n,cmp);
    for(int i=0;i<n;i++)
    {
        if(s<0)
        {
            break;
        }
        if(m[i].x>b)
        {
            if(m[i].x>b+a)
            {
                continue;
            }
            else
            {
                z++;
                s-=m[i].y;
            }
        }
        else
        {
            z++;
        }
    }
    cout<<z<<endl;
    return 0;
}

看不懂为什么错


by Mark_Zhu @ 2024-02-02 11:45:51

话说你为什么要判断m[i].x>b啊,直接判断下面一个不行吗?

还有, @Diary_51,你的 if(m[i].x>b)后面的else为什么不减啊?

这些不会是你没看到or没考虑到吧(在给你台阶下了-_-||)


|