#5RE蒟蒻救命

P1478 陶陶摘苹果(升级版)

Hf_Poem @ 2022-07-22 16:40:09

#include <bits/stdc++.h>
using namespace std;
int n;
struct s
{
    int high,power;
};
s a[10000];
s b[10000];
int pcmp(s a,s b)
{
    if(a.power!=b.power)
    return a.power<b.power;
}
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
    int n,s,y,z,cnt=0;
    cin>>n>>s>>y>>z;
    int h=y+z;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i].high;
        cin>>a[i].power;
    }
    for(int i=1;i<=n;i++)
    {
        if(a[i].high>h)
        continue;
        else
        {
            cnt++;
            b[cnt]=a[i];
        }
    }
    sort(b+1,b+cnt+1,pcmp);
    int sum=0,cntx=0;
    for(int i=1;i<=cnt;i++)
    {
        if(sum+b[i].power<=s)
        {
            cntx++;
            sum+=b[i].power;
        }
    }
    cout<<cntx;
    return 0;
}

最后一个样例总是RE,大佬帮忙看看QAQ


by ShwStone @ 2022-07-22 16:53:17

int pcmp(s a,s b)
{
    if(a.power!=b.power)
    return a.power<b.power;
}

这里如果 a.power==b.power 返回值就未定义了。把 if 那一行去掉就好了


by Hf_Poem @ 2022-07-22 16:56:36

@ShwStone 谢大佬,过了ヾ(o・ω・)ノ


|