第一行依次為三個整數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。輸出演奏最後一首歌的最...