洛谷 p1230 智力大衝浪
小偉報名參加**電視台的智力大衝浪節目。本次挑戰賽吸引了眾多參賽者,主持人為了表彰大家的勇氣,先獎勵每個參賽者m元。先不要太高興!因為這些錢還不一定都是你的?!接下來主持人宣布了比賽規則:
首先,比賽時間分為n個時段(n≤500),它又給出了很多小遊戲,每個小遊戲都必須在規定期限ti前完成(1≤ti≤n)。如果乙個遊戲沒能在規定期限前完成,則要從獎勵費m元中扣去一部分錢wi,wi為自然數,不同的遊戲扣去的錢是不一樣的。當然,每個遊戲本身都很簡單,保證每個參賽者都能在乙個時段內完成,而且都必須從整時段開始。主持人只是想考考每個參賽者如何安排組織自己做遊戲的順序。作為參賽者,小偉很想贏得冠軍,當然更想贏取最多的錢!注意:比賽絕對不會讓參賽者賠錢!
輸入格式:
輸入檔案riddle.in,共4行。
第1行為m,表示一開始獎勵給每位參賽者的錢;
第2行為n,表示有n個小遊戲;
第3行有n個數,分別表示遊戲1到n的規定完成期限;
第4行有n個數,分別表示遊戲1到n不能在規定期限前完成的扣款數。
輸出格式:
輸出檔案riddle.out,僅1行。表示小偉能贏取最多的錢。
輸入樣例#1: 複製
1000074 2 4 3 1 4 6
70 60 50 40 30 20 10
輸出樣例#1: 複製
9950思路:排序+列舉
難度:普及/提高-
首先按扣款數從大到小將小遊戲排序,然後列舉每乙個遊戲能否在規定的時間之前完成
#include#include#define size 510
using
namespace
std;
struct
nond e[size];
int flag[size] = ;
intcmp(nond a, nond b)
intmain()
if(h != -1) flag[h] = 1
;
else p -=e[i].w;
}printf("%d
", p);
return0;
}
洛谷P1230智力大衝浪
小偉報名參加 電視台的智力大衝浪節目。本次挑戰賽吸引了眾多參賽者,主持人為了表彰大家的勇氣,先獎勵每個參賽者m元。先不要太高興!因為這些錢還不一定都是你的?接下來主持人宣布了比賽規則 首先,比賽時間分為n個時段 n 500 它又給出了很多小遊戲,每個小遊戲都必須在規定期限ti前完成 1 ti n 如...
洛谷 P1230 智力大衝浪
小偉報名參加 電視台的智力大衝浪節目。本次挑戰賽吸引了眾多參賽者,主持人為了表彰大家的勇氣,先獎勵每個參賽者m元。先不要太高興!因為這些錢還不一定都是你的?接下來主持人宣布了比賽規則 首先,比賽時間分為n個時段 n 500 它又給出了很多小遊戲,每個小遊戲都必須在規定期限ti前完成 1 ti n 如...
洛谷 P1230 智力大衝浪
解題思路 利用結構體儲存每一種遊戲的時期和價值,按照時間從小到大 相同時期價值從大到小 排序 然後依次掃瞄n種遊戲並計時 如果當前的遊戲完成時間 計時器時間 則在計時器時間內能夠完成該遊戲,則直接統計該遊戲,計時器 否則 在 計時器 時間上不能完成該遊戲,則搜尋計時器以前完成的遊戲中是否存在價值最小...