infinityfor @ 2019-10-05 17:40:39
光盯着代码实在想不出为什么会WA
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里的空格也出了问题