Before an Exam
题意
输出皮特是否能给他父母时间表
思路
- 先定义和输入所需要的值
- 再用for循环和if判断来进行求解
- 最后输出结果即可
实现步骤
- 定义输入所需值
- 用for循环来对maxsum和minsum进行统计遍历
- if判断式子是否符合题目的要求,输出no
代码
#include <bits/stdc++.h>
using namespace std;
int main() {
int d,sumtime;
cin>>d>>sumtime;
int mintime[d], maxtime[d];
int maxsum=0,minsum=0,temp=0;
for (int i=0;i<d;i++){
scanf("%d %d",&mintime[i],&maxtime[i]);
maxsum+=maxtime[i];
minsum+=mintime[i];
}
if(maxsum<sumtime||minsum>sumtime){
cout<<"NO"<<endl;
return 0;
}
else{
cout<<"YES"<<endl;
sumtime-=minsum;
int i=0;
while(sumtime){
if(sumtime>maxtime[i]-mintime[i]){
sumtime-=maxtime[i]-mintime[i];
mintime[i]=maxtime[i];
}
else{
mintime[i]+=sumtime;
sumtime=0;
}
i++;
}
for (int i=0;i<d;i++){
cout<<mintime[i]<<" ";
}
}
return 0;
}
总结
for循环和if判断