noip2004普及组 不高兴的津津

题目

不高兴的津津

算法

(模拟,枚举) O ( n ) O(n) O(n)
枚举每一天,算出在校学习和在家学习的总时间的最大值。

然后判断最大值是否大于8:

  • 如果最大值大于8,则输出那一天的编号;
  • 否则津津每天都会很开心,输出0.

时间复杂度分析

对每天处理一次,所以时间复杂度是 O ( n ) O(n) O(n),其中 n n n 是总天数。

C++ 代码

#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

int main()
{
    int a, b; // a表示在校学习时间,b表示在家学习时间
    int max_time = 0, day;
    for (int i = 1; i <= 7; i++)
    {
        cin >> a >> b; // 输入在校时间和在家时间
        if(a + b > max_time)
        {
            max_time = a + b; // 如果当天的学习时间大于最大学习时间的话,就更新最大学习时间
            day = i; // 把日期记成那天的编号
        }
    }

    if(max_time > 8)
        cout << day << endl;
    else
        cout << 0 << endl;

    return 0;
}

你可能感兴趣的:(oi)