時間限制:1000 ms | 記憶體限制:65535 kb
難度:2
描述馬上就要考試了,小t有許多作業要做,而且每個老師都給出來了作業要交的期限,如果在規定的期限內沒
交作業就會扣期末成績的分數,假設完成每門功課需要一天的時間,你能幫助小t扣除的分數最小嗎?
輸入輸入n,表示n門功課(n<2000),接下來n行,每行兩個數a,b,分別表示交作業的最後期限,遲交扣除的分數。
(以檔案結尾)
輸出輸出扣除的最小分數。
樣例輸入
3樣例輸出3 10
3 53 1
31 6
3 21 3
71 3
4 26 1
4 72 6
4 53 4
035這個題我做的時候這是一頭霧水,看了網上的**才知道該怎麼寫!下面把我的想法給大家說一下!
分析:你首先要對日期進行排序,要是沒有重複的日期就好了,一天乙個,這肯定掛不了科啊!。有也沒事,先按日期從小到大,有重複日期的,按分值的從小到大排序。
排好後,我們本著一天乙個的原則,當遇到重複日期的時候就要有所取捨了,那肯定是不要分值少的啊,所以就和前面最小的比較,看哪個更小,就不複習了分數不要了!
不要的分數加起來就是最小的了!這個題就是要利用優先佇列了!因為它能自動排序,省下不少事!
1 #include2 #include3 #include4using
namespace
std;
5structas6
aa[3000
];//定義乙個存放輸入資料的結構體
10bool cmp(as m,as
n)//定義結構體排序的順序
1118
intmain()
1944
else
45 sum+=aa[i].y;46}
47}48 printf("
%d\n
",sum);49}
50return0;
51 }
nyoj757 期末考試 佇列
期末考試 時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 馬上就要考試了,小t有許多作業要做,而且每個老師都給出來了作業要交的期限,如果在規定的期限內沒 交作業就會扣期末成績的分數,假設完成每門功課需要一天的時間,你能幫助小t扣除的分數最小嗎?輸入輸入n,表示n門功課 n 2...
NYOJ 757 期末考試(優先佇列)
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 馬上就要考試了,小t有許多作業要做,而且每個老師都給出來了作業要交的期限,如果在規定的期限內沒 交作業就會扣期末成績的分數,假設完成每門功課需要一天的時間,你能幫助小t扣除的分數最小嗎?輸入輸入n,表示n門功課 n 2000 接...
757 期末考試
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 馬上就要考試了,小t有許多作業要做,而且每個老師都給出來了作業要交的期限,如果在規定的期限內沒 交作業就會扣期末成績的分數,假設完成每門功課需要一天的時間,你能幫助小t扣除的分數最小嗎?輸入輸入n,表示n門功課 n 2000 接...