題目:小s上課的時候容易犯睏,但又想聽一些自己感興趣的內容,我們將知道小s對每分鐘的內容的感興趣程度,以數字量化。以及每分鐘小s醒著還是在睡覺,我們可以叫醒小s一次,小s醒後k分鐘內不會睡著,要最大化小s聽到感興趣的內容。
要求:輸入
第一行:課堂持續時間n,小s堅持的時間k。(1<=n,k<10^4)
第二行:a1,a2。。。。。an。ai表示第i分鐘內容的感興趣程度。
第三行:t1,t2.。。。。。tn。ti表示第i分鐘醒著或者睡著,1代表醒著,0為睡著。
輸出:能獲得最多感興趣的內容的值,後面用res表示。(將醒著的分鐘數的ai相加)
思路:特殊情況,k>=n(輸出全部ai總和)
首先算出不叫醒小s時,小s的res為多少。
然後遍歷叫醒小s的分鐘數(從第1分鐘到第n-k分鐘),計算每種情況下,k分鐘內小s原本睡著的時間的ai總和。找到這些情況中總和最大的那個數max。
最後輸出res+max。
通過測試的**:
#include#includeusing namespace std;
int main()
while (cin >> tmpa&&a.size()> tmpt&&t.size()= n)
int res = 0;
for (int i = 0; i < n; i++)
if (k == 0)
int max = 0;
for (unsigned int i = 0; i <= n - k; i++)
if (tmpmax > max)
max = tmpmax;
} cout << res + max << endl;
return 0;
}
程式設計練習(小s的第x個蘋果)
題目 有從左到右的n堆蘋果。小s知道每堆蘋果的個數,那麼請問第x個蘋果是從左往右數第幾堆中的呢?要求 輸入 第一行 n 代表有n堆蘋果,n 1 第二行 a1,a2。an。ai代表第i堆裡有ai個蘋果 第三行 m 詢問m次 第四行 q1,q2。qm。qi表示第i次詢問第qi個蘋果在第幾堆 思路 建立乙...
程式設計小練習
檔名稱 test.cpp 完成日期 2016年4月11日 問題描述 ip位址 在日常網路環境中,基本是都在使用b,c兩大類位址,而ade這3類位址都不打可能被使用到。include using namespace std class ip ip位址共4位元組,或者看成結構體所指4部分 unsigne...
程式設計小練習
檔名稱 test.cpp 完成日期 2016年4月11日 問題描述 設計乙個 類,要有 名 威力。在上週的遊戲角色類role基礎上擴充,為每個角色建立乙個 並在攻擊 attack 行為發生時,在其中起作用。include using namespace std class weapon weapon...