第3测试点WA求助

P1478 陶陶摘苹果(升级版)

infinityfor @ 2019-10-05 17:40:39

光盯着代码实在想不出为什么会WA

include<stdio.h>

int main() {

int n,s;
scanf("%d %d",&n,&s);

int a,b;
scanf("%d %d",&a,&b);

int i;
int apple[5002];
int yi[5002];
for(i=1;i<n;i++){
    scanf("%d %d ",&apple[i],&yi[i]);
}

int B1[5002],B2[5002];
int c,C;
int min;
min=yi[0];
int *p=&yi[0];
for(i=0;i<n;i++){
    min=yi[0];
    p=&yi[0];
    C=0;
    for(c=1;c<n;c++){
    if(min>yi[c]){
    min=yi[c];
    p=&yi[c];
    C=c;
    }

}

min=*p;
*p=1001;

B1[i]=min;
B2[i]=apple[C];
}

int x=0;
for(i=1;i<n;i++){
    if(s<=0){
        break;
    }
    while(s<B1[i]){
        i++;
        }
        while(a+b<B2[i]){
            i++;
        }
    if(i<=n){
        s-=B1[i];
        x++;
    }

}
printf("%d",x);

return 0;

}


by muyang_233 @ 2019-10-05 17:46:38

请不要用Markdown强调头文件的作用


by 吴铭事 @ 2019-10-05 17:46:41

@infinityfor不需要用第这直接把最大高度和凳子高度加起来在顺便把力气判断一下就行


by infinityfor @ 2019-10-05 18:17:29

@pengrendaning 可是这段我做了啊 如下 for(i=1;i<n;i++){ if(s<=0){ break; }

while(s<B1[i]){
    i++;
    }
    while(a+b<B2[i]){
        i++;
    }
if(i<=n){
    s-=B1[i];
    x++;
}

}


by infinityfor @ 2019-10-05 18:17:50

@muyang_233 抱歉下次我注意


by 吴铭事 @ 2019-10-05 18:22:53

@infinityforemmmm……


by 吴铭事 @ 2019-10-05 18:24:29

@infinityfor

for(int i=1;i<=n;i++)
    if(b>=h[i]&&l>=s[i]) 
    {
    ans++;
    l-=s[i];
    }

by infinityfor @ 2019-10-05 20:14:31

@pengrendaning 谢谢,解决了。 其实scanf里的空格也出了问题


|