1 条题解
-
0
[NOIP 2004 普及组] 不高兴的津津
知识点
条件判断、最大值、线性扫描
解题思路
从周一到周日扫描每天总课时,初始最大值设为8、答案设为0,仅当总课时严格超过当前最大值时更新。
正确性说明
扫描到第i天时,答案是前i天课时超过8的最早最大值所在天。严格更新保留较早的并列天,初始值正确处理无人超过8小时的情况。
易错点
课时等于8不算不高兴;并列时不能用>=更新,否则会选择较晚一天。
复杂度
时间O(7)=O(1),空间O(1)。
参考代码(GNU C++17)
#include<bits/stdc++.h> using namespace std; int main(){ int best=8,day=0; for(int i=1;i<=7;++i){int a,b;cin>>a>>b;if(a+b>best){best=a+b;day=i;}} cout<<day<<'\n'; }
- 1