現在樂鬥有活動了!每打乙個人可以獲得5倍經驗!absi2011卻無奈的看著那一些比他等級高的好友,想著能否把他們乾掉。乾掉能拿不少經驗的。
現在absi2011拿出了x個迷你裝藥物(嗑藥打人可恥….),準備開始與那些人打了
由於迷你裝乙個只能管一次,所以absi2011要謹慎的使用這些藥,悲劇的是,沒到達最少打敗該人所用的屬性藥了他打人必輸》.《所以他用2個藥去打別人,別人卻表明3個藥才能打過,那麼相當於你輸了並且這兩個屬性藥浪費了。
現在有n個好友,有輸掉拿的經驗、贏了拿的經驗、要嗑幾個藥才能打過。求出最大經驗(注意,最後要乘以5)
輸入格式:
第一行兩個數,n和x
後面n行每行三個數,分別表示輸了拿到的經驗(lose[i])、贏了拿到的經驗(win[i])、打過要至少使用的藥數量(use[i])。
輸出格式:
乙個整數,最多獲得的經驗
輸入樣例#1:
6 821 52 1
21 70 5
21 48 2
14 38 3
14 36 1
14 36 2
輸出樣例#1:
1060
【hint】
五倍經驗活動的時候,absi2011總是吃體力藥水而不是這種屬性藥》.<
【資料範圍】
對於10%的資料,保證x=0
對於30%的資料,保證n<=10,x<=20
對於60%的資料,保證n<=100,x<=100, 10<=lose[i], win[i]<=100,use[i]<=5
對於100%的資料,保證n<=1000,x<=1000,0【題目**】
fight.pet.qq.com
absi2011授權題目
思路:還是01揹包;
但要用到一些其他的操作;
我們每次挑戰之前,都把dp上每個元素+lose;
挑戰成功後+win-lose;
要*5和用long long
來,上**:
#include #includeusing
namespace
std;
long
long if_z,n,x,lose,win,cost,dp[1005
];char
cget;
inline
void
in(long
long &now)
while(cget>='
0'&&cget<='9'
)
now*=if_z;
}int
main()
cout
<5
;
return0;
}
洛谷P1802 5倍經驗日
現在樂鬥有活動了!每打乙個人可以獲得5倍經驗!absi2011卻無奈的看著那一些比他等級高的好友,想著能否把他們乾掉。乾掉能拿不少經驗的。現在absi2011拿出了x個迷你裝藥物 嗑藥打人可恥 準備開始與那些人打了 由於迷你裝乙個只能管一次,所以absi2011要謹慎的使用這些藥,悲劇的是,沒到達最...
洛谷 P1802 5倍經驗日
現在樂鬥有活動了!每打乙個人可以獲得5倍經驗!absi2011卻無奈的看著那一些比他等級高的好友,想著能否把他們乾掉。乾掉能拿不少經驗的。現在absi2011拿出了x個迷你裝藥物 嗑藥打人可恥 準備開始與那些人打了 由於迷你裝乙個只能管一次,所以absi2011要謹慎的使用這些藥,悲劇的是,沒到達最...
動態規劃 5倍經驗日
題目鏈結 現在 absi2011 拿出了 x 個迷你裝藥物 嗑藥打人可恥 準備開始與那些人打了 由於迷你裝乙個只能管一次,所以 absi2011 要謹慎的使用這些藥,悲劇的是,沒到達最少打敗該人所用的屬性藥了他打人必輸 所以他用 2 個藥去打別人,別人卻表明 3 個藥才能打過,那麼相當於你輸了並且這...