題目描述
乙個吉他手準備參加一場演出。
他不喜歡在演出時始終使用同乙個音量,所以他決定每一首歌之前他都需要改變一次音量。
在演出開始之前,他已經做好乙個列表,裡面寫著每首歌開始之前他想要改變的音量是多少。
每一次改變音量,他可以選擇調高也可以調低,音量用乙個整數描述。
輸入檔案中整數beginlevel
,代表吉他剛開始的音量,整數maxlevel
,代表吉他的最大音量。
音量不能小於 0 也不能大於 maxlevel。
輸入中還給定了 n 個整數 c1, c2, c3, …, cn,表示在第 i 首歌開始之前吉他手想要改變的音量是多少。
吉他手想以最大的音量演奏最後一首歌,你的任務是找到這個最大音量是多少。
輸入格式
第一行依次為三個整數 n,beginlevel 和 maxlevelmaxlevel。
第二行依次為 n 個整數 c1, c2, c3, …, cn
輸出格式
輸出演奏最後一首歌的最大音量。
如果吉他手無法避免音量低於 0 或者高於 maxlevel,輸出 -1。
輸入樣例
3 5 10
5 3 7
輸出樣例10
資料範圍
1 ≤ n ≤ 50,1 ≤ ci ≤ maxlevel,1 ≤ maxlevel ≤ 1000,0 ≤ beginlevel ≤ maxlevel
題解一
記憶化搜尋:
#include
#include
using
namespace std;
const
int n =
60, m =
1010
;int n, max, s, ans =-1
;int v[n]
, f[n]
[m];
void
dfs(
int u,
int sum)
f[u]
[sum]
=true
;dfs
(u +
1, sum + v[u]);
dfs(u +
1, sum - v[u]);
}int
main()
題解二
01揹包:
#include
using
namespace std;
const
int n =
60, m =
1010
;int n, m, s;
int v[n]
, f[n]
[m];
intmain()
for(
int i = m; i >=
0; i --)if
(f[n]
[i])
cout <<-1
<< endl;
}
洛谷 P1877 HAOI2012 音量調節
音量用乙個整數描述。輸入檔案中整數beginlevel,代表吉他剛開始的音量,整數maxlevel,代表吉他的最大音量。音量不能小於0也不能大於maxlevel。輸入中還給定了n個整數c1,c2,c3,cn,表示在第i首歌開始之前吉他手想要改變的音量是多少。吉他手想以最大的音量演奏最後一首歌,你的任...
C 調節PCM音量
在用 解碼器 具體的實現函式如下 void raisevolume char buf,uint32 size,uint32 urepeat,double vol buf為需要調節音量的音訊資料塊首位址指標,size為長度,urepeat為重複次數,通常設為1,vol為增益倍數,可以小於1 for i...
音量調節流程
在分析 android音訊系統時,習慣將其實現分為兩個部分 資料流和策略。資料流描述了音訊資料從資料來源流向目的地的過程。而策略則是管理及控制資料流的路徑與呈現的過程.audiotrack audiorecord 和audioflinger 可以被劃歸到資料流的範疇去討論。而 audiopolicy...