2023年8月8日提高組T1 作業

2021-08-05 21:46:28 字數 1154 閱讀 6479

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。現在皮皮找到了一次遊戲的結果,但他不知道這個結果是不是合法的。請你告訴他這個結果有沒有可能成為乙個合法的遊戲結果...