[AGC022D] Shopping
题意翻译
- 有 $n$ 个商场, 第 $i$ 个商场在数轴上的 $x_i$ 处, 你需要在第 $i$ 个商场花费连续的 $t_i$ 单位时间购物.
- 现在有一趟火车会在 $0$ 到 $L$ 处往返, 行驶一单位距离要花费一单位时间.
- 你从 $0$ 时刻起在 $0$ 处上车, 只有在商场, $0$ 处或 $L$ 处才能下车, 问最少花费多少单位时间能在每一个商场都购完物后回到 $0$ 处.
- $n\leqslant 3\times 10^5, 0<x<L\leqslant 10^9$.
题目描述
[problemUrl]: https://atcoder.jp/contests/agc022/tasks/agc022_d
ユイは買い物好きです。ユイはヤマボシ市に住んでいて、この市では鉄道が運行しています。ヤマボシ市はとても長い数直線としてモデル化することができ、ユイの家は座標 $ 0 $ にあります。
ヤマボシ市には $ N $ 件のショッピングセンターがあり、それぞれ座標 $ x_{1},\ x_{2},\ ...,\ x_{N} $ にあります。鉄道の駅は $ N\ +\ 2 $ 駅あり、座標 $ 0 $ に一駅、座標 $ L $ に一駅、そして各ショッピングセンターに一駅ずつあります。
時刻 $ 0 $ に、鉄道列車が座標 $ 0 $ から正の方向に出発します。列車は毎秒 $ 1 $ 単位距離という一定の速さで移動します。時刻 $ L $ に、列車は終着駅、すなわち座標 $ L $ の駅に到着します。その直後に、列車は反対の方向に同じ速さで走り始めます。時刻 $ 2L $ に、列車は座標 $ 0 $ の駅に到着し、再び反対の方向に走り始めます。この行程が永遠に繰り返されます。
列車がユイのいる駅に到着したとき、ユイは直ちに列車に乗ったり降りたりすることができます。時刻 $ 0 $ には、ユイは座標 $ 0 $ の駅にいます。
ユイは $ N $ 件すべてのショッピングセンターに買い物に行きたいです。順番はなんでもよく、買い物が終わったら帰りたいです。座標 $ x_{i} $ のセンターでの買い物には $ t_{i} $ 秒がかかります。**あるセンターで買い物を始めたら、次のセンターに行く前にそこでの買い物を完了しなければなりません。** センターのある駅に到着したら直ちに買い物を始めることができ、買い物が終わったら直ちに電車に乗ることができます。
ユイは、買い物にかかる時間を最短にしたいです。最短で何秒で買い物を済ませられるか、ユイが判断するのを手伝ってくれませんか?
输入输出格式
输入格式
入力は標準入力から以下の形式で与えられる。
> $ N $ $ L $ $ x_{1} $ $ x_{2} $ $ ... $ $ x_{N} $ $ t_{1} $ $ t_{2} $ $ ... $ $ t_{N} $
输出格式
ユイが $ N $ 件すべてのショッピングセンターで買い物を済ませて帰宅するまでに必要な最短の時間を(秒単位で)出力せよ。
输入输出样例
输入样例 #1
2 10
5 8
10 4
输出样例 #1
40
输入样例 #2
2 10
5 8
10 5
输出样例 #2
60
输入样例 #3
5 100
10 19 28 47 68
200 200 200 200 200
输出样例 #3
1200
输入样例 #4
8 1000000000
2018 123456 1719128 1929183 9129198 10100101 77777777 120182018
99999999 1000000000 1000000000 11291341 1 200 1 123812831
输出样例 #4
14000000000
说明
### 制約
- $ 1\ \leq\ N\ \leq\ 300000 $
- $ 1\ \leq\ L\ \leq\ 10^{9} $
- $ 0\ <\ x_{1}\ <\ x_{2}\ <\ ...\ <\ x_{N}\ <\ L $
- $ 1\ \leq\ t_{i}\ \leq\ 10^{9} $
- 入力中のすべての値は整数である。
### 部分点
- $ 1\ \leq\ N\ \leq\ 3000 $ を満たすデータセットに正解すると、$ 1000 $ 点が与えられる。
### Sample Explanation 1
ユイが買い物を済ませる行程の例を示します。 - 列車で座標 $ 8 $ の駅まで移動する。時刻 $ 8 $ に座標 $ 8 $ に到着する。 - 座標 $ 8 $ のショッピングセンターで買い物をする。時刻 $ 12 $ に買い物が完了する。 - 時刻 $ 12 $ に電車が座標 $ 8 $ に到着する。負の方向に進んでいる電車に乗る。 - 時刻 $ 15 $ に座標 $ 5 $ に到着する。時刻 $ 25 $ に買い物が完了する。 - 時刻 $ 25 $ に電車が座標 $ 5 $ に到着する。正の方向に進んでいる電車に乗る。 - 時刻 $ 30 $ に座標 $ L\ =\ 10 $ に到着する。列車は直ちに反対方向に走り始める。 - 時刻 $ 40 $ に座標 $ 0 $ に到着し、行程を終了する。
### Sample Explanation 4
オーバーフローにご注意。