求救,为何,前四个点都AC了,最后一个点却RE

P1478 陶陶摘苹果(升级版)

vegetablebird4396 @ 2019-11-14 20:33:56

#include<bits/stdc++.h>
using namespace std;
struct apple
{
    int x,y;
}app[6000];

bool com_x(apple a,apple b)   { return a.x<=b.x; }
bool com_y(apple a,apple b)   { return a.y<=b.y; }

int main()
{
    int n,s,a,b;
    cin>>n>>s>>a>>b;
    if(!n) return 0*printf("0");
    for(int i=0;i<n;i++)    cin>>app[i].x>>app[i].y;
    sort(app,app+n,com_x);
    for(int i=0;i<n;i++)    if(app[i].x>a+b) { n=i; break; }
    sort(app,app+n,com_y);
    int i=0;
    do
    {
       s=s-app[i++].y;
    }while(s>=0);
    cout<<i-1;
}

by vegetablebird4396 @ 2019-11-14 20:35:02

最后一个点的数据我下载了,但是本地运行也是RE,不知为何,数组越界了嘛?还是其他什么(雾


by vzcx_decipher @ 2019-11-14 20:37:11

能给出数据吗


by vzcx_decipher @ 2019-11-14 20:38:53

@vegetablebird4396


by vegetablebird4396 @ 2019-11-14 20:53:25

@Unaccepted_zero 不能T_T,直接就是粘贴完数据之后就是等一段时间,就PRESS ANY KEY TO CONTINIUE


by vegetablebird4396 @ 2019-11-14 20:53:58

@Unaccepted_zero 你说的是最后一个测试点的数据嘛?


by vzcx_decipher @ 2019-11-14 20:55:46

@vegetablebird4396 下载的数据点里的内容是什么


by vzcx_decipher @ 2019-11-14 20:57:40

@vegetablebird4396 是的


by vegetablebird4396 @ 2019-11-14 20:59:49

@Unaccepted_zero emmmmmm,就是题目中给的n的上限吧,而且不是可以下载数据查看嘛。。


by vzcx_decipher @ 2019-11-14 21:17:58

其实你的代码本来错了,只是数据水

能把前12行给我吗,我A了


by vzcx_decipher @ 2019-11-14 21:26:36

这个语句块中没有n,前两行的n是干饭的?

int i=0;
do
{
     s=s-app[i++].y;
}while(s>=0);

| 下一页