bzoj2748 haoi2012音量調節

2021-08-17 12:45:23 字數 850 閱讀 3808

第一行依次為三個整數n, beginlevel, maxlevel。

第二行依次為n個整數 c1,c2,c3,…,cn。

資料規模:

1<=n<=50, 1<=ci<=maxlevel, 1<=maxlevel<=1000, 0<=beginlevel<=maxlevel

輸出格式:

輸出演奏最後一首歌的最大音量。如果吉他手無法避免音量低於0或者高於maxlevel,輸出-1。

輸入輸出樣例

輸入樣例#1:

3 5 10

5 3 7

輸出樣例#1:

10動態轉移方程是f[i][j] = ((f[i - 1][j + c[i]] && j + c[i] <= max) || (f[i - 1][j - c[i]] && j - c[i] >= 0))

由i - 1的狀態加上條件來判斷f[i][j]狀態是否可行

如果j + c[i] > max 就不能上公升音量

如果j - c[i] < 0 就不能下降音量

最後遍歷一遍f[n][i],輸出最大的i使f[n][i] = 1; 給個初值 在第0次調節音量的時候begin這個位置認為是有的

#include

int f[55][1100],a[55],n,begin,maxlevel;

inline int

read()

returnx;}

int main()

for (int i=maxlevel;i>=0;--i) if (f[n][i]==1)

printf("-1");

return

0;}

BZOJ2748 HAOI2012 音量調節

time limit 3 sec memory limit 128 mb 第一行依次為三個整數 n,beginlevel,maxlevel。第二行依次為n個整數 c1,c2,c3 cn。輸出演奏最後一首歌的最大音量。如果吉他手無法避免音量低於0或者高於maxlevel,輸出 1。3 5 10 5 3...

bzoj 2748 HAOI2012 音量調節

time limit 3 sec memory limit 128 mb submit 1040 solved 673 submit status discuss 第一行依次為三個整數 n,beginlevel,maxlevel。第二行依次為n個整數 c1,c2,c3 cn。輸出演奏最後一首歌的最大...

Bzoj2748 音量調節

time limit 3 sec memory limit 128 mb submit 1732 solved 1088 submit status discuss 第一行依次為三個整數 n,beginlevel,maxlevel。第二行依次為n個整數 c1,c2,c3 cn。輸出演奏最後一首歌的最...