程式設計練習(上課睡覺的小s)

2021-09-18 05:01:58 字數 884 閱讀 4580

題目:小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...