解題思路: 利用結構體儲存每一種遊戲的時期和價值,按照時間從小到大(相同時期價值從大到小)排序
然後依次掃瞄n種遊戲並計時:
如果當前的遊戲完成時間 >= 計時器時間 ,則在計時器時間內能夠完成該遊戲,則直接統計該遊戲,計時器++
否則 在 "計時器" 時間上不能完成該遊戲,則搜尋計時器以前完成的遊戲中是否存在價值最小的遊戲可被當前該遊戲替換
如果存在,則將當前該遊戲替換之前已完成遊戲價值最小的時刻,並繼續判斷下乙個遊戲。
送上ac**:
#include#include#includestruct gameg[505];
int t[505];
bool cmp(game a, game b)
int main()
std::sort(g+1,g+n+1,cmp);
// for(int k=1;k<=n;++k) printf("%d %d \n",g[k].time,g[k].val);
int t=1;
for(int num=1;num<=n;++num) // 按照時刻從小到大,依次判斷
else
++tmp;
}if(flag)
}} printf("%d\n",orign-(sum-ans)); // ans 統計的完成遊戲獲得的最大價值
return 0;
}
洛谷P1230智力大衝浪
小偉報名參加 電視台的智力大衝浪節目。本次挑戰賽吸引了眾多參賽者,主持人為了表彰大家的勇氣,先獎勵每個參賽者m元。先不要太高興!因為這些錢還不一定都是你的?接下來主持人宣布了比賽規則 首先,比賽時間分為n個時段 n 500 它又給出了很多小遊戲,每個小遊戲都必須在規定期限ti前完成 1 ti n 如...
洛谷 P1230 智力大衝浪
洛谷 p1230 智力大衝浪 小偉報名參加 電視台的智力大衝浪節目。本次挑戰賽吸引了眾多參賽者,主持人為了表彰大家的勇氣,先獎勵每個參賽者m元。先不要太高興!因為這些錢還不一定都是你的?接下來主持人宣布了比賽規則 首先,比賽時間分為n個時段 n 500 它又給出了很多小遊戲,每個小遊戲都必須在規定期...
洛谷 P1230 智力大衝浪
小偉報名參加 電視台的智力大衝浪節目。本次挑戰賽吸引了眾多參賽者,主持人為了表彰大家的勇氣,先獎勵每個參賽者m元。先不要太高興!因為這些錢還不一定都是你的?接下來主持人宣布了比賽規則 首先,比賽時間分為n個時段 n 500 它又給出了很多小遊戲,每個小遊戲都必須在規定期限ti前完成 1 ti n 如...