description
小a作為乙個乖乖好學生,回到家後總是一絲不苟地完成老師布置的作業。
這天,老師給小a布置了n項作業,每一項作業都有截止時間di和價值vi(你可以理解成每做完乙份作業就要快遞過去給老師,且快遞是不耗費時間的),每完成一項作業便可獲得其價值。但小a發現,自己每乙個單位時間內只能完成其中的一項作業,請你告訴小a,他最多可以獲得多少價值。
input
第一行有乙個正整數n,表示作業的數量。
接下來n行,每行兩個正整數表示di和vi。
output
輸出一行,表示小a最多可以獲得的價值。
sample input
5 1 9
7 6
8 8
1 8
8 6
sample output
29 hint
【樣例說明】
考慮第三組資料,因為只有乙個專案所以只好每天都安排這個。
小a第一天完成第一項作業,第二天完成第二項作業,第三天完成第3項作業,第四天完成第5項作業。
【資料規模與約定】
對於前30%的資料,n<=100.
對於前60%的資料,n<=1000,di<=n
對於100%的資料,n<=100000,di,vi<=1000000000.
做法:維護乙個堆就好了(233333)
**如下:
#include
#include
#include
#include
#include
using namespace std;
struct arr
f[200007];
int heap[200007],n;
long long ans=0;
int compare(arr x,arr y)
int main()
i++;
j++;
}else
if (f[j].w>heap[1])
j++;
}}
for (int i=1;i<=len;i++)
ans+=heap[i];
printf("%lld",ans);
}
2023年8月8日提高組T1 作業
小a作為乙個乖乖好學生,回到家後總是一絲不苟地完成老師布置的作業。這天,老師給小a布置了n項作業,每一項作業都有截止時間di和價值vi 你可以理解成每做完乙份作業就要快遞過去給老師,且快遞是不耗費時間的 每完成一項作業便可獲得其價值。但小a發現,自己每乙個單位時間內只能完成其中的一項作業,請你告訴小...
2023年8月10日提高組T1 數學
description 小a得到了乙個數列a,他告訴你這個數列中所有的a i 都是1到n的自然數,並且告訴你對於一些a i 不能取哪些值。無聊的你想要知道所有可能的數列的積的和。定義乙個數列的積為這個數列所有數的乘機。由於答案太大,只要模10 9 7輸出即可。input 第一行三個整數n,m,k,分...
2023年8月17日提高組T1 遊戲
description 皮皮和敵敵在玩乙個遊戲 每輪選擇乙個正整數k,看誰先喊出k這個數字,誰就贏。一開始每個人都有乙個數字1,贏得那方的數字可以乘上k 2,而輸的那方的數字就只能乘上k。現在皮皮找到了一次遊戲的結果,但他不知道這個結果是不是合法的。請你告訴他這個結果有沒有可能成為乙個合法的遊戲結果...