php仿百度网站源码,保定设计网站建设,邯郸网站设计培训机构,官方网站找oem做洗发水厂家题目名字 Before an Exam
题目链接
题意 给定天数和目标#xff0c;然后接下来输入每天的最少时间和最多时间#xff0c;先判断在每天的范围内能否完成目标#xff0c;如果不能输出no#xff0c;如果能就输出每天在给定范围内完成的时间 思路 先用maxsum来将每天的最大时…题目名字 Before an Exam
题目链接
题意 给定天数和目标然后接下来输入每天的最少时间和最多时间先判断在每天的范围内能否完成目标如果不能输出no如果能就输出每天在给定范围内完成的时间 思路 先用maxsum来将每天的最大时间相加minsum将每天最少的时间相加判断maxsum是否小于sumtime且minsum是否大于sumtime如果是输出no不是就输出yes然后继续判断先用sumtime减掉minsum判断剩余的sumtime是否小于范围的差值如果大于就使这天的学习最小量变为最大学习量为了后面的输出继续判断直到sumtime小于两个之间的差值然后使这天的mintime加等于这个sumtime 3.最后循环输出d天的mintime 算法一贪心
代码 #include bits/stdc.h
using namespace std;
int main() { int d,sumtime; cindsumtime; int mintime[d], maxtime[d]; int maxsum0,minsum0,temp0; for (int i0;id;i){ scanf(%d %d,mintime[i],maxtime[i]); maxsummaxtime[i]; minsummintime[i]; } if(maxsumsumtime||minsumsumtime){ coutNOendl; return 0; } else{ coutYESendl; sumtime-minsum; int i0;while(sumtime){if(sumtimemaxtime[i]-mintime[i]){ sumtime-maxtime[i]-mintime[i]; mintime[i]maxtime[i]; } else{ mintime[i]sumtime;sumtime0;} i;}for (int i0;id;i){coutmintime[i] ;} } return 0;
}