两个输入代码相同但是输入情况却不一样是怎么回事?
有一玉柱,高度为K。小猴白天向上爬高若干高度,每晚下降若干高度。有时晚上下降得太厉害,可能会掉到地面。
小猴获取了n天的攀爬玉柱的资格,每一天的白天向上攀爬和向下滑落的高度也给出,小猴在n天内能否爬上高度为K的玉柱触响铃铛?
输入:
第一行2个正整数,分别代表玉柱高度K和天数限制n,(0<K,n<1000)
第二行开始的连续n行,每行2个正整数,分别代表每天白天向上攀爬m和晚上向下滑落的高度p,(0<=m,p<=1000)。
输出:
能触响铃铛,输出“YES”;
不能触响铃铛,输出“NO”。
为什么我这两个代码的输入代码一样,但是输入的情况却不同?难道后面的代码会影响输入吗?
#include<stdio.h>
int main(){
int k,n,m,p,i,t,sum=0;
scanf("%d%d",&k,&n);
t=k;
for(i=0;i<n;i++){
scanf("%d %d",&m,&p);
sum+=m;
if(sum>=t){
printf("YES");
break;
}
sum-=p;if(sum<0){
sum=0;
}
}
if(sum<t){
printf("NO");
}
return 0;
}
#include<stdio.h>
int main(){
int k,n,m,p,i,t,sum=0;
scanf("%d%d",&k,&n);
t=k;
for(i=0;i<n;i++){
scanf("%d %d",&m,&p);
sum+=m;
if(sum>=t){
printf("YES");
break;
}
sum-=p;if(sum<t){
printf("NO");
}
}
return 0;
}