시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 47 | 35 | 34 | 77.273% |
カナダに住む JOI 君の家の軒下には,立派なつららが出来ている.せっかくなの で,JOI 君はつららについて調べてみることにした.
JOI 君の家の軒下には N 本(2 ≤ N ≤ 100000 = 105)のつららが出来ている.こ れらのつららは一直線上に並んでおり,軒下の左端から i cm(1 ≤ i ≤ N)の位置 に i 本目のつららが出来ている.i 本目のつららの長さは最初 ai cm(ai は 1 以上の 整数)である.これらのつららは,次のような規則によって伸びていく:
最初の段階で,隣り合う 2 本のつららの長さはすべて異なっている.このとき,十分 な時間が経過すれば,N 本すべてのつららが折れて長さ 0 cm となる.JOI 君は,つ ららがこのような状態になるまでの時間を知りたくなった.
N 本のつららの最初の長さとつららの限界の長さ L が与えられると,すべてのつ ららが折れるまでにかかる時間を求めるプログラムを作成せよ.
入力の 1 行目には,つららの本数を表す整数 N とつららの限界の長さを表す整数 L が,空白を区切りとしてこの順に書かれている.入力の i + 1 行目 (1 ≤ i ≤ N) に は, i 本目のつららの最初の長さを表す整数 ai (1 ≤ ai < L) が書かれている.
すべてのつららが折れるまでにかかる時間を表す 1 つの整数のみ を含む 1 行からなる.
4 6 4 2 3 5
8
6 10 3 4 1 9 5 1
15
例 1 の場合,1, 2, 3, 4 本目のつららは,それぞれ 2, 8, 4, 1 時間後に折れる.した がって,すべてのつららが折れるまでにかかる時間は 8 時間であるので,8 を出力 する.