スタンプラリー 3 (Collecting Stamps 3)
日本語
Language
Contribute a translation- Time limit
- 2000 ms
- Memory limit
- 1024 MB
- Submissions
- 0
- Correct
- 0
- Solved by
- 0
- AC rate
- —
Statement
JOI 君が住む IOI 国は,大きな湖があることで有名である.今日,湖の周りでスタンプラリー大会が行われることになった.
湖の周りには \(N\) 個のスタンプ台が設置されており,時計回りに \(1\) から \(N\) までの番号が付いている.湖の周りの長さは \(L\) メートルであり,スタンプ台 \(i\) (\(1 \leqq i \leqq N\)) はスタンプラリーのスタート地点から湖の周りに沿って時計回りに \(X_i\) メートルだけ進んだ地点に設置されている.
スタンプラリーの各参加者は,スタンプラリー開始時にはスタート地点にいて,スタンプラリー開始後は湖の周りに沿って時計回りもしくは反時計回りに移動することができる.参加者は,スタンプ台が設置されている地点に到着したとき,まだそのスタンプ台でスタンプを押していなかった場合に限り,スタンプを \(1\) 回だけ押すことができる.ただし,スタンプ台 \(i\) (\(1 \leqq i \leqq N\)) はスタンプラリー開始から \(T_i\) 秒が経過すると撤去され,それより後に参加者が到着してもそのスタンプ台でスタンプを押すことはできなくなる.なお,\(T_i\) 秒ちょうどに参加者が到着した場合については,スタンプを押すことができるとする.
JOI 君はこのスタンプラリー大会の参加者である.JOI 君は \(1\) メートルを進むのに \(1\) 秒かかる.また,JOI 君はスタンプを押すことに熟練しているので,スタンプを押すのにかかる時間は無視することができる.
スタンプ台の個数,湖の周りの長さ,各スタンプ台が設置されている地点,各スタンプ台が撤去される時刻が与えられたとき,JOI 君が押すことのできるスタンプの個数の最大値を求めるプログラムを作成せよ.
Input
入力は以下の形式で標準入力から与えられる.入力される値はすべて整数である.
\(N\) \(L\)
\(X_1\) \(\cdots\) \(X_N\)
\(T_1\) \(\cdots\) \(T_N\)
Output
JOI 君が押すことのできるスタンプの個数の最大値を,標準出力に \(1\) 行で出力せよ.
Constraints
- \(1 \leqq N \leqq 200\).
- \(2 \leqq L \leqq 1\,000\,000\,000\).
- \(1 \leqq X_i < L\) (\(1 \leqq i \leqq N\)).
- \(X_i < X_{i+1}\) (\(1 \leqq i \leqq N - 1\)).
- \(0 \leqq T_i \leqq 1\,000\,000\,000\) (\(1 \leqq i \leqq N\)).
Subtasks
- (\(5\) 点) \(N \leqq 12\),\(L \leqq 200\),\(T_i \leqq 200\) (\(1 \leqq i \leqq N\)).
- (\(10\) 点) \(N \leqq 15\).
- (\(10\) 点) \(L \leqq 200\),\(T_i \leqq 200\) (\(1 \leqq i \leqq N\)).
- (\(75\) 点) 追加の制約はない.
Examples
6 25 3 4 7 17 21 23 11 7 17 10 8 10
4
以下のようにすると JOI 君は \(4\) 個のスタンプを押すことができる.
- 反時計回りに \(2\) メートル進む.スタンプラリー開始からの経過時間は \(2\) 秒であるので,スタンプ台 \(6\) でスタンプを押すことができる.
- さらに反時計回りに \(2\) メートル進む.スタンプラリー開始からの経過時間は \(4\) 秒であるので,スタンプ台 \(5\) でスタンプを押すことができる.
- 時計回りに \(7\) メートル進む.スタンプラリー開始からの経過時間は \(11\) 秒であるので,スタンプ台 \(1\) でスタンプを押すことができる.
- さらに時計回りに \(1\) メートル進む.スタンプラリー開始からの経過時間は \(12\) 秒であるので,スタンプ台 \(2\) でスタンプを押すことはできない.
- さらに時計回りに \(3\) メートル進む.スタンプラリー開始からの経過時間は \(15\) 秒であるので,スタンプ台 \(3\) でスタンプを押すことができる.
どのように移動しても JOI 君が \(5\) 個以上のスタンプを押すことはできないので,\(4\) を出力する.
5 20 4 5 8 13 17 18 23 15 7 10
5
JOI 君はスタンプラリー開始後,湖の周りを反時計回りに進み続けることで,すべてのスタンプ台でスタンプを押すことができる.
4 19 3 7 12 14 2 0 5 4
0
残念ながら,JOI 君がどのように移動したとしてもスタンプを押すことはできない.
10 87 9 23 33 38 42 44 45 62 67 78 15 91 7 27 31 53 12 91 89 46
5
Notes
JOI 2020 · JCIOI · CC BY-SA 4.0
Tags
No tags yet