【AtCoder】ABC 408 A - Timeout | 緑コーダーが解くAtCoder
配点: 150 点 / 実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 35 / NoviSteps: 7Q
問題概要
ある長老は、最後に肩を叩かれてから 秒以上経過すると寝てしまう。
現在長老は起きており、付き人がちょうど長老の肩を叩いた。これから付き人はちょうど 回長老の肩を叩き、
回目の肩叩きは現在から
秒後に行われる。
長老が現在から 秒後まで連続して起きているかを判定せよ。
制約
- 入力はすべて整数
考察
以下では、 とする。
長老は、 のときは、現在の
秒後から
秒後まで起きている。逆に、
のときは途中で寝てしまう。
したがって、 について、ある
で
となれば答えは
Noとなる。
実装例
#include <bits/stdc++.h> using namespace std; #define rep(i, start, end) for (auto i = (start); (i) < (end); (i)++) // ======================================== // int main() { int N, S; cin >> N >> S; vector<int> T(N + 1, 0); rep(i, 1, N + 1) cin >> T[i]; rep(i, 1, N + 1) { if (T[i] - T[i - 1] > S) { cout << "No" << endl; return 0; } } cout << "Yes" << endl; return 0; }
実装時間: 5分
コメント
最近のA問題は気持ちよく解かせてくれない。