q670. pB. 當不成勇者的我,只好到高中園遊會賣起了炒泡麵麵包
標籤 : Greedy 貪心
通過比率: 24人/ 27人 ( 89%) [非即時]
評分方式:
Special

最近更新 : 2025-05-28 10:14

內容

『勇者,你願意拯救世界嗎#!@#$%^& 滋---滋---滋---(雜音)』
於是你放棄了等待不知道哪天才會顯示在螢幕上的訊息,並且來到高中園遊會協助製作炒泡麵麵包。

 

你是初始工作員,接著有 N 個工作員在你身後排成直列。
每個工作員有各自美味度影響值 wi,第 i 個工作員加工後對於成品美味度將增加 wi。
其中 wi 可能是負的,因為有可能發生忘記加調料、泡麵沾黏鍋底、配料炒到焦掉了等等的情形。

你可以安排 N 個工作員的加工順序,加工過程中如果有任何時刻美味度總和為負的即視為報廢品
請問在最佳順序策略下,身為初始工作員的你至少要提供初始美味度為多少的成品才不至於報廢?並請印出任一組最佳順序。

 

舉例來說,假設有 5 個工作員,美味度影響值為 {3, -3, -1, 1, 2}

如果順序安排為 -3 → -1 → 3 → 1 → 2,
過程中在 (-3-1) 之後總和變成 -4,因此初始美味度至少需為 4。

如果順序安排為 3 → -3 → -1 → 1 → 2,
過程中在 (3-3-1) 之後總和變成 -1,因此初始美味度至少需為 1。

如果順序安排為 3 → -3 → 1 → -1 → 2,
過程中總和不會有負值,因此初始美味度至少只需為 0,也就是最好的其中一種情況。

輸入說明

第一行有一個正整數 N,代表除了你以外的工作員總數
1 ≤ N ≤ 105

第二行由左至右有 N 個整數 wi,代表每個工作員的美味度影響值
-1000 ≤ wi ≤ 1000

輸出說明

第一行為至少需提供初始美味度為多少的成品
第二行為 N 個數字,兩兩之間以空白隔開,代表任一種最佳順序策略
(本題為自訂比對,若有多種最佳順序策略,則輸出任一種皆視為正確)

範例輸入 #1
5
3 -3 -1 1 2
範例輸出 #1
0
3 -3 1 -1 2
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (5%): 2.0s , <1M
公開 測資點#1 (5%): 2.0s , <1M
公開 測資點#2 (5%): 2.0s , <1M
公開 測資點#3 (5%): 2.0s , <1M
公開 測資點#4 (5%): 2.0s , <1K
公開 測資點#5 (5%): 2.0s , <1K
公開 測資點#6 (5%): 2.0s , <1K
公開 測資點#7 (5%): 2.0s , <1K
公開 測資點#8 (5%): 2.0s , <1K
公開 測資點#9 (5%): 2.0s , <1K
公開 測資點#10 (5%): 2.0s , <1M
公開 測資點#11 (5%): 2.0s , <1M
公開 測資點#12 (5%): 2.0s , <1M
公開 測資點#13 (5%): 2.0s , <1M
公開 測資點#14 (5%): 2.0s , <1M
公開 測資點#15 (5%): 2.0s , <1M
公開 測資點#16 (5%): 2.0s , <1M
公開 測資點#17 (5%): 2.0s , <1M
公開 測資點#18 (5%): 2.0s , <1M
公開 測資點#19 (5%): 2.0s , <1M
提示 :

10%:所有 wi 皆相同
10%:wi 只有兩種
30%:N ≤ 100
50%:無特別限制 

標籤:
Greedy 貪心
出處:
114學年度 hgsh 校內賽 [管理者: mushroom.cs9 ... (mushroom) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」