102-2 主機排程(schedule)

zerojudge 網址 http://zerojudge.tw/ShowProblem?problemid=a829

內容 :

云云科技顧問公司是一家幫忙企業客戶規畫實體主機轉成虛擬主機的諮詢服務公司,而使用雲端虛擬主機平台主要的好處,就是讓硬體資源可以集中共享,並透過平台有效率及彈性地分配硬體資源給實際需要的系統,不但可以因為減少主機的數量達到節能減碳,還可以為公司省下許多經費開銷。專案經理小楊,他的其中一項工作就是幫忙客戶整理各個系統運行實際需要的硬體資源,並依照系統執行的忙碌時段計算出實際需要的各項硬體資源總數,提供給企業客戶作為購置硬體之參考。

假定所有系統一旦開始執行後,就會固定以D天為一個週期重複執行( 如下圖 ),且除了系統執行之忙碌時段外,其他都是閒置時間。當處於忙碌時段時,資源會被佔住,如果在相同時段有很多系統同時在忙碌時,就必須提供更多的硬體資源,才能確保這些系統能正常執行;反之,當系統閒置時,其所擁有的硬體資源會被雲端主機平台回收,並轉給其他需要硬體資源的系統。需要統計的硬體資源包含系統執行所需的核心( core )數、記憶體數( 按每GB計 )以及網路流量( 按每MB計 ),而系統忙碌的時間皆以整點小時計,你的任務就是要幫小楊寫一個程式,能自動統計每個企業客戶在固定時間週期D內,任一時間下可能需要準備的各種硬體資源總數。

輸入說明 :

第一列有兩個整數n與D,中間以一個空白區隔,分別代表此資料檔有n群的資料要分別統計,1 ≤ n ≤ 10 ,D為一個定值,表其所有系統忙碌時間將以D天為一個週期循環。資料群由第二列開始,每群資料開頭的第一列是一個整數s,代表該群資料須處理的筆數,隨後每一列代表一筆系統運行時的資源需求資料,皆包含六個整數( Td Ts Th Rcore RramRbw ),數字間以一個空白隔開,前三個整樹為執行的時間,分別表示系統於第Td天的整點Ts時開始執行,並一共持續執行了Th小時( 1 ≤ Td ≤ D ,0 ≤ Ts ≤ 23 ,Th ≥ 0 ),但不會持續超過一個週期的總時數;後三個整數分別代表執行時所需要硬體資源,包含核心數Rcore,1 ≤ Rcore ≤ 10 ;記憶體數Rram GB,1 ≤ Rram ≤ 20 ;以及網路頻寬RbwMB,0 ≤ Rbw ≤ 30;例如整數序列:3 10 15 2 4 3,則代表此系統在第三天上午10時起,連續執行15小時,至第四天凌晨1時止皆為該系統的忙碌時間,執行時需要2個核心、4GB的記憶體以及3MB的網路流量才能順利運行。每群資料的最後一列,以一個數字「0」,代表該群資料的結束。請注意,這些硬體資源需求資料並未事先排序。

輸出說明 :

每一列為統計每群資料會同時用到的最大資源數,應包含三個整數( 每一個整數皆小於 30,000 ),分別代表同時可能用到的最大核心數、最大記憶體數,以及最大網路頻寬數值。整數間以一個空白隔開。

範例輸入 :

2 3

3

2 5 7 2 3 1

1 10 18 3 10 2

3 17 3 1 1 1

0

2

2 9 21 4 4 5

1 16 8 2 10 1

0

範例輸出 :

3 10 2

4 10 5

提示 :

※ 非官方測資,有問題請提出

保證:40%的測資滿足 D <= 10 , s <= 20 ;

100%的測資滿足 D <= 1,000 , s <= 1,000。

出處 :

102北市賽 (管理:eddy841021)