AT_past202104_f 安全装置
Description
[problemUrl]: https://atcoder.jp/contests/past202104-open/tasks/past202104_f
あなたは画期的なコンピュータを発明し、これを使って $ N $ 個のタスクを処理しようとしています。
$ i $ 番目のタスクはこのコンピュータで $ A_i $ 秒で処理されます。処理時間とは別に各タスクには「負荷」という数値が定まっており、$ i $ 番目のタスクの負荷は $ B_i $ です。タスクは $ 1 $ 個目から番号順に間隔を開けず処理します。
このコンピュータは負荷 $ L $ 以上の処理が連続 $ T $ 秒間に達した瞬間、安全装置によって $ X $ 秒間だけ処理を停止した後、再開します。処理停止時にあるタスクの処理途中だった場合、そのタスクの初めに戻って再開します。
有限の時間で全てのタスクを処理し終わるかを判定し、処理し終わる場合は全部のタスクを終わらせるのにかかる秒数を求めてください。最後のタスクを終わらせた瞬間に安全装置が作動する場合、その安全装置による処理停止が終わる瞬間までの秒数を求めるものとします。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ L $ $ T $ $ X $ $ A_1 $ $ B_1 $ $ A_2 $ $ B_2 $ $ A_3 $ $ B_3 $ $ \hspace{14pt}\ \vdots $ $ A_N $ $ B_N $
Output Format
有限の時間で全てのタスクを処理し終わらない場合 `forever` を出力せよ。
そうでない場合、全てのタスクを終わらせるのにかかる秒数を出力せよ。
Explanation/Hint
### 注意
この問題に対する言及は、2021/4/24 18:00 JST まで禁止されています。言及がなされた場合、賠償が請求される可能性があります。 試験後に総合得点や認定級を公表するのは構いませんが、どの問題が解けたかなどの情報は発信しないようにお願いします。
### 制約
- $ 1\ \le\ N\ \le\ 100 $
- $ 1\ \le\ L\ \le\ 1000 $
- $ 1\ \le\ T\ \le\ 1000 $
- $ 1\ \le\ X\ \le\ 1000 $
- $ 1\ \le\ A_i\ \le\ 1000 $
- $ 1\ \le\ B_i\ \le\ 1000 $
- 入力は全て整数
### Sample Explanation 1
$ 1,\ 2 $ 番目のタスクの負荷が両方 $ 10 $ 以上なので、$ 1 $ 番目のタスクを完了し $ 2 $ 番目のタスクを $ 1 $ 秒実行した瞬間、負荷 $ L $ 以上の処理が $ 3 $ 秒に達しコンピュータは $ 5 $ 秒停止します。 その後、$ 2 $ 番目のタスクの最初に戻って再開します。$ 3 $ 番目のタスクの負荷も $ 10 $ 以上なので同様に $ 3 $ 番目のタスクを $ 1 $ 秒実行した瞬間に再び安全装置が作動して $ 5 $ 秒停止します。 同様に再開時は $ 3 $ 番目のタスクの初めからになり、$ 4 $ 番目のタスクは負荷が $ 10 $ 未満なので、この後は $ 3,\ 4 $ 番目のタスクに $ 2 $ 秒ずつ使って全てのタスクを完了します。 $ 1 $ 回目の停止から再開した時点で開始から $ 8 $ 秒、$ 2 $ 回目の停止からの再開時で $ 16 $ 秒経っており、最終的に $ 20 $ 秒で全てのタスクを処理し終わります。
### Sample Explanation 2
最初のタスクの途中で安全装置が作動して最初に戻る、を繰り返して永遠に終了しません。
### Sample Explanation 3
$ 2 $ 番目のタスクが終了した瞬間に安全装置が $ 1 $ 度作動します。停止したのはタスクの処理途中ではないので、再開時は $ 3 $ 番目のタスクから処理を開始します。 そして、最後のタスクを処理し終わった瞬間に安全装置が再び作動します。 問題文の最後の文で注意されている通り、この場合安全装置による停止の時間も含めて計算します。
### Sample Explanation 4
負荷 $ 10 $ 以上の仕事が $ 5 $ 秒以上連続することはないので、安全装置が作動することはありません。