a371. c089.3. 貪心闖關
Tags :
Accepted rate : 0人/0人 (0%) [非即時]
評分方式:
Tolerant

最近更新 : 2025-06-25 12:10

Content

小花參加一個搬沙包挑戰賽,關卡有 $n$ 個,編號由 $1$ ~ $n$,初始時,每個關卡有若干個沙包。

選手會選擇一個仍有沙包的關卡,將其所有的沙包搬至編號順序下一個仍有沙包的關卡,若選擇的關卡為當前仍有沙包的關卡中編號最大的,則把沙包搬出關卡即可。

沙包被搬完的關卡標示為完成,意即不會再有沙包被搬進此關卡,挑戰會持續進行直到所有關卡完成,或小花選手無法一次搬動當下任何關卡的所有沙包,小花一次可搬動的沙包上限為 $t$ 個。

每成功搬動 $w$ 個沙包則得 $w$ 分,小花打算採用以下貪心的策略完成挑戰,請計算小花的總分:

• 選擇當前關卡中沙包最少的關卡,若有超過一個關卡有當前最少的沙包,則選擇編號最小的關卡
• 重複以上步驟直到挑戰結束 以測資一為範例:
•選擇關卡4,搬1個沙包到關卡5,得1分,關卡狀態更新為 (4 4 2 0 10 3)
•選擇關卡3,搬2個沙包到關卡5,得2分,關卡狀態更新為 (4 4 0 0 12 3)
•選擇關卡6,已經是當前仍有沙包的關卡中編號最大的,所以將沙包移出關卡就好,得3分,關卡狀態更新為 (4 4 0 0 12 0)
•選擇關卡1,搬4個沙包到關卡2,得4分,關卡狀態更新為 (0 8 0 0 12 0)
•選擇關卡2,搬8個沙包到關卡5,得8分,關卡狀態更新為 (0 0 0 0 20 0)
•所有關卡中沙包最少的為20個,超過小花一次能搬動的上限8個,所以挑戰結束,總分為 1+2+3+4+8=18

Input

第一行有兩個正整數 $n, t (1 \le n \le 3 \times 10^5, 1 \le t \le 10^9)$,第二行有 $n$ 個正整數代表關卡初始的沙包數量,關卡初始沙包數不超過 $10^9$。

子題
20%: $1 \le n \le 100$, $1 \le t \le 1000$
80%: 無額外限制

Output

輸出一個正整數代表小花的總分,保證總分不超過 $10^{15}$。

Sample Input #1
6 8
4 4 2 1 9 3
Sample Output #1
18
Sample Input #2
5 4
4 4 3 2 1
Sample Output #2
10
測資資訊:
記憶體限制: 256 MB
公開 測資點#0 (5%): 1.0s , <1K
公開 測資點#1 (5%): 1.0s , <1K
公開 測資點#2 (5%): 1.0s , <1K
公開 測資點#3 (5%): 1.0s , <1K
公開 測資點#4 (5%): 1.0s , <10M
公開 測資點#5 (5%): 1.0s , <10M
公開 測資點#6 (5%): 1.0s , <10M
公開 測資點#7 (5%): 1.0s , <10M
公開 測資點#8 (5%): 1.0s , <10M
公開 測資點#9 (5%): 1.0s , <10M
公開 測資點#10 (5%): 1.0s , <10M
公開 測資點#11 (5%): 1.0s , <10M
公開 測資點#12 (5%): 1.0s , <10M
公開 測資點#13 (5%): 1.0s , <10M
公開 測資點#14 (5%): 1.0s , <10M
公開 測資點#15 (5%): 1.0s , <10M
公開 測資點#16 (5%): 1.0s , <10M
公開 測資點#17 (5%): 1.0s , <10M
公開 測資點#18 (5%): 1.0s , <10M
公開 測資點#19 (5%): 1.0s , <10M
Hint :

apcs 考試 C/C++ 時間限制 1sec, Python 3sec,Zerojudge 時限可能與 APCS 考試不同

感謝匿名網友、leeguanhan0909、chjhsa11155098、whale_island 提供題目敘述與範例測資

Tags:
出處:
2025年6月APCS [管理者: ktlai(測試員) ]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」