有一些大小一樣的正方體積木,把它們排成一疊一疊的,每一疊都有若干塊積木整齊地堆好。現在給你一些K值,如果對於每個K,我只能進行下列操作:
每一次只能將高度超過K的那堆積木,拿一塊起來,放到旁邊那堆的積木上。而且一定要疊在某塊積木上面,不能放到地上。
輸入可能包含多筆測試資料。每一筆測試資料的第一列有兩個正整數N以及M (1<=N<=1000000, 1<=M<=50),分別代表整排積木的堆數,以及K值的數量。第二列有N個正整數依序代表由左至右N堆積木的高度。第三列有M個正整數,代表分別詢問的K值。所有數字都至少為1,至多為1000000000。輸入以EOF結束。
對於每一筆測試資料,請輸出一列,包含M個恰以一個空白間隔的整數,代表對每個詢問的K值,能夠經過某些操作後得到的最長高度K以上的積木堆的長度。
5 6 1 2 1 1 5 1 2 3 4 5 6
5 5 2 1 1 0
Migrated from old NTUJ.
POI17th, stage II. prob2
No. | Testdata Range | Score |
---|