題目描述
萬老師聽說某大國很流行穿越,於是他就想寫乙個關於穿越的劇本。
閒話休提。話說老師穿越到了某乙個劍與魔法的大陸。因為如此這般,所以老師從維娜艾那裡得到了預言。老師一共被告知了若干件按順序結算的事件。這些事件分為兩類:戰役事件(case)、穿越回去事件(end)。戰役事件可以選擇是否參加,參加了之後會獲得一定的金錢。每個end事件發生需要至少參加一定數量的戰役事件。特別的是,end事件如果滿足要求就會強制發生。老師希望在大陸玩個夠,所以他要求只有最後乙個end事件會發生。老師希望獲得最多的金錢,所以求助於你。
輸入第一行乙個數n,表示輸入檔案有多少行。
接下來每一行用空格隔開乙個字元和乙個整數。字元為「c」表示戰役事件,接下來的整數表示這次漲rp順帶有多少錢;字元為「e」表示穿越回去事件,接下來的整數代表至少要漲多少rp。最後乙個事件保證是end事件。
輸出第一行乙個整數,最多金錢數目。
若不可能則輸出-1。
輸入樣例
5c 10
c 12
e 2c 1
e 2輸出樣例
13說明
data constraint
30%的資料滿足 n<=20
60%的資料滿足 n<=1,000
100%的資料滿足 n<=200,000
每次漲rp事件賞金不超過10,000
穿越事件的要求不超過200,000..
....
分析
建立一條優先佇列,如果是戰役事件就放入佇列中,穿越事件就從小到大踢出佇列的數,知道小於需要的事件數。..
....
程式:
#include
#include
#include
#include
#include
using
namespace std;
priority_queue<
int> a;
int n,x,h,w;
intmain()
else
if(i!=n)
else
if(i==n&&h}long
long ans=0;
for(
int i=
1;i<=h;i++
)printf
("%lld"
,ans)
;return0;
}
劍與魔法 dragons
operatorname ssl比賽1 142萬老師聽說某大國很流行穿越,於是他就想寫乙個關於穿越的劇本。閒話休提。話說老師穿越到了某乙個劍與魔法的大陸。因為如此這般,所以老師從維娜艾那裡得到了預言。老師一共被告知了若干件按順序結算的事件。這些事件分為兩類 戰役事件 case 穿越回去事件 end ...
c 自帶堆 劍與魔法 dragons
這個題目看上去沒複製完的樣子 還有c 自帶的堆 真香,nb!萬老師聽說某大國很流行穿越,於是他就想寫乙個關於穿越的劇本。閒話休提。話說老師穿越到了某乙個劍與魔法的大陸。因為如此這般,所以老師從維娜艾那裡得到了預言。老師一共被告知了若干件按順序結算的事件。這些事件分為兩類 戰役事件 case 穿越回去...
佇列與優先佇列
是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列的資料元素又稱為佇列元素。在佇列中插入乙個佇列元素稱為入隊,從佇列中刪除乙個佇列元素稱為...