80分没过,求大佬看看

P1478 陶陶摘苹果(升级版)

c1922182683 @ 2019-07-17 16:07:28

#include<iostream>
#include<algorithm>
using namespace std;
struct aa
{
    int a;//高
    int b;//力气
}ss[5100];
bool cmp(aa x, aa y)
{
    if (x.b < y.b)return 1;
    return 0;
}
int main()
{
    int n, s, a, b, a1[5100], a2[5100], j=0;
    cin >> n >> s;
    cin >> a >> b;
    for (int i = 0; i < n; i++)
    {
        cin >> a1[i] >> a2[i];
        if (a1[i] <= a + b)
        {
            ss[j].a = a1[i];
            ss[j].b = a2[i];
            j++;
        }
    }
    sort(ss, ss + j, cmp);
    int x = 0;
    int m = 0;
    for (int i = 0; i <= j; i++)
    {
        x += ss[i].b;
        if (x > s)
        {
            cout << m;
            break;
        }
        m++;
    }
    return 0;
}

by Hams_rain @ 2019-07-17 21:14:13

虽然过了一下之后没有发现什么问题

  cin >> a1[i] >> a2[i];
        if (a1[i] <= a + b)
        {
            ss[j].a = a1[i];
            ss[j].b = a2[i];
            j++;
        }

但我觉得你这一段的代码可以不要QAQ 然后在下面多加一个判断 这样子也许错误就容易看到一点 awa


by Red_Alert_star @ 2019-07-20 18:58:14

加上这个你就AC:

if(n==5000&&s==1000&&chair==50&&hand==150) { cout<<255; return 0; }


by Red_Alert_star @ 2019-07-20 18:59:02

chair是a,hand是b


by ji_zhe @ 2019-07-28 10:26:42

struct aa//这里没加分号


by yess @ 2019-08-03 15:39:18

我也是,下载第三个输入之后看到,输入的是 0 0,没有输入四个数,然后直接输出0 。。。。


|