実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 30
問題概要
AtCoder では、ARC が2つの division に分けられている。
- ARC Div.1 では、コンテスト開始時のレーティングが
以上
以下の参加者がレーティング更新の対象である。
- ARC Div.2 では、コンテスト開始時のレーティングが
以上
以下の参加者がレーティング更新の対象である。
高橋くんは、これから 回の ARC に参加することにした。はじめ、高橋くんのレーティングは
である。
の ARC は Div.
で、高橋くんが取った成績は整数
で表される。高橋くんが参加した ARC がレーティング更新の対象ならば、コンテスト終了後、高橋くんのレーティングに
が加算される。
回の ARC を終えたとき、高橋くんのレーティングがいくつになっているか求めよ。
制約
- 入力はすべて整数。
考察
各 ARC の の値に応じて現在の高橋君のレーティングがレーティング更新対象かどうかを判定し、高橋君のレーティングをシミュレーションしていけばよい。
コード
#include <bits/stdc++.h> using namespace std; #define rep(i, start, end) for (auto i = (start); (i) < (end); (i)++) // ======================================== // int main() { int N, R; cin >> N >> R; rep(i, 0, N) { int D, A; cin >> D >> A; if (D == 1) { if (1600 <= R && R <= 2799) { R += A; } } else if (D == 2) { if (1200 <= R && R <= 2399) { R += A; } } } cout << R << endl; }
実装時間: 5分以内