Codeforces 673A - Bear and Game

問題

codeforces.com

Bearは90分間の試合をテレビで見ることにしました。しかし15分間より長く退屈な内容が続くのならば、彼はテレビを消してしまいます。この試合にはn個の面白い一分間があり、それらはt_{1}, t_{2}, ..., t_{n}で表されます。Bearは何分間テレビを観ることになるでしょうか。

解法

簡単なシミュレーションの問題です。観ることが約束された時間までに、面白いタイミングがあれば順次更新していくという手法です。

ソースコード

#include <iostream>
#include <vector>
using namespace std;

#define REP(i, x) for (int i = 0; i < (x); i++)
#define ALL(a) (a).begin(), (a).end()

int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);

    int n, ans = 15;
    cin >> n;

    vector<int> ti(n);

    REP (i, n) {
        cin >> ti[i];
    }

    REP (i, n) {
        if (ti[i] <= ans) {
            ans = ti[i] + 15;
        } else break;
    }

    cout << min(ans, 90) << endl;

    return 0;
}

感想

解説なんかいらない問題でしょうが初めということで^_^