小青蛙住在一條河邊,它想到河對岸的學校去學習。小青蛙打算經(jīng)過河里的石頭跳到對岸。
河里的石頭排成了一條直線,小青蛙每次跳躍必須落在一塊石頭或者岸上。不過,每塊石頭有一個高度,每次小青蛙從一塊石頭起跳,這塊石頭的高度就會下降 1,當石頭的高度下降到 0 時小青蛙不能再跳到這塊石頭上(某次跳躍后使石頭高度下降到 0 是允許的)。
小青蛙一共需要去學校上 x 天課,所以它需要往返 2x 次。當小青蛙具有一個跳躍能力 y 時,它能跳不超過 y 的距離。
請問小青蛙的跳躍能力至少是多少才能用這些石頭上完 x 次課。
輸入的第一行包含兩個整數(shù) n, x,分別表示河的寬度和小青蛙需要去學校的天數(shù)。請注意 2x 才是實際過河的次數(shù)。
第二行包含 n ? 1 個非負整數(shù) H1, H2, · · · , Hn-1,其中 Hi > 0 表示在河中與小青蛙的家相距 i 的地方有一塊高度為 Hi 的石頭,Hi = 0 表示這個位置沒有石頭。
5 1 1 0 1 0
4
由于只有兩塊高度為 1 的石頭,所以往返只能各用一塊。第 1 塊石頭和對岸的距離為 4,如果小青蛙的跳躍能力為 3 則無法滿足要求。所以小青蛙最少需要 4 的跳躍能力。
對于 30% 的評測用例,n ≤ 100;
對于 60% 的評測用例,n ≤ 1000;
對于所有評測用例,1 ≤ n ≤ 105 , 1 ≤ x ≤ 109 , 1 ≤ Hi ≤ 104。
第十三屆藍橋杯大賽軟件賽省賽 Java 大學 C 組 |
|
---|---|
C題 | |
D題 | |
E題 | |
F題 | |
G題 | |
H題 | |
I題 | |
J題 |
注意事項:
1. 不要使用 package 語句。
2. 選手代碼的主類名必須為:Main,否則會被判為無效代碼。
3. 如果程序中引用了類庫,在提交時必須將 import 語句與程序的其他部分同時提交。
4. 只允許使用 Java 自帶的類庫。
5. 提交時,注意選擇使用Java語言。
本比賽結(jié)束,依舊可以訓練提交,見題集2022年第十三屆藍橋杯大賽軟件類省賽Java大學C組真題