Login with GitHub. Nope?
修正 C++ 的程式碼在使用一定量動態記憶體後會產生 RF 的問題 @ 2019/12/6 4:45pm NeoHOJ 強勢復活中 (Open beta)
Submit  Ranklist

Problem : 127 - 移方塊

Problem Statistics

Solved Member: 25  Submission: 100  User Tried: 26

Statement:

Bytie 的爸爸在生日的時候送非常多的方塊給 Bytie 當禮物。他將這些方塊由左到右疊成很多疊,每疊高度不一定相同。

Bytie 的爸爸決定考他的兒子。他每次會問一個數字 K。Bytie 需要選一個連續的區間[l,r],在第 l 疊和第 r 疊之間,他可以將任意一疊最上面的方塊拿起來,並將方塊放到左邊或者右邊的那一疊(但是不可以超過他所選的區間),使得這個區間內每一疊的方塊數都大於等於 k。

Bytie 想知道,對於爸爸的詢問,他可以選多長的區間?

Input:Output:

第 1 行有 2 個整數 n,m(1 ≤ n ≤ 1000000; 1 ≤ m ≤ 50),分別代表Bytie把方塊疊成 n 疊,以及爸爸的問題數。
第 2 行有 n 個數字 X1, X2, ... ,Xn(1 ≤ Xi ≤ 1000000000),分別代表由左到右每一疊有多少方塊。
第 3 行有 m 個數字 K1, K2, ... ,Km(1 ≤ Ki ≤ 1000000000),代表爸爸詢問的 K 值。
你的程式需要輸出 1 行,包括 m 個整數,依序代表每次詢問最多可以選的區間長度。

Sample Input:Sample Output:

5 6
1 2 1 1 5
1 2 3 4 5 6
5 5 2 1 1 0

HINT:

範測:

Source:

POI 17 Stage 2

Problem Setter

Testdata:

TestTimeMemoryScore
01000ms65536kb
1-ocen1000ms65536kb
11000ms65536kb10
2-ocen1000ms65536kb
21000ms65536kb10
3-ocen1000ms65536kb
31000ms65536kb10
4-ocen20000ms65536kb
41000ms65536kb10
51000ms65536kb10
61500ms65536kb10
74000ms65536kb10
85000ms65536kb10
915000ms65536kb10
1015000ms65536kb10