競技プログラミング用 知識集積所

ABC408A - Timeout

最終更新:

sport_programming

- view
管理者のみ編集可


問題


必要知識


考え方

まずは入力内容を確認。
入力内容は整数2つと数列なので、int型変数2つとvector(未作成)を用意してcinで受け取る。

次に、長老の型を叩く制限時間をメモする変数を用意する。
0秒のときに最初に肩を叩いているので、このままだと寝てしまうのはS秒のとき。
よって、Sで初期化しておく。

次に、forループで前から順にi番目を確認。
肩を叩くのが間に合った場合、次の制限時間をそのS秒後に更新する。
間に合わなかった場合は、"No"を出力してループを終了する。

後でcoutする用のstring型変数を用意して"Yes"で初期化しておくと、問題なく肩を叩けた場合の処理が楽になる。

解答例


注意点



別解

0秒を含めたvector(未作成)を用意する

最初にvectorを受け取るときに、先頭に0を追加した長さn+1のvectorとして受け取ると、
2項の間にs+0.5秒以上空いているところはないか、というだけの問題になる。
解答例
ウィキ募集バナー