Problem 1197 共享廁所

2021-08-20 02:16:02 字數 1397 閱讀 1244

問題描述

馬路邊有乙個共享廁所,廁所裡一共裝有m 個馬桶可供人們拉尿,每個人每秒鐘的拉尿量相等,均為1。 現在有n 個人準備拉尿,他們的初始拉尿順序已經確定。將這些人按拉尿順序從1 到n編號,i 號同學的拉尿量為ai。拉尿開始時,1 到m 號人各佔乙個馬桶,並同時開始拉尿。當其中某個人j 完成其拉尿量要求aj 後,下一名排隊等候拉尿的人x馬上接替j人的位置開始拉尿。這個換人的過程是瞬間完成的。即第j人第k秒結束時完成拉尿,則第x人第k+1 秒立刻開始拉尿。若當前拉尿人數n』不足m, 則只有n』個馬桶供使用,其它m-n』個馬桶關閉。 現在給出n 名人的拉尿量,按照上述拉尿規則,問所有人都拉完尿需要多少秒。

輸入

第1 行是n 和m,分別表示拉尿人數和馬桶個數。

第2 行n 個整數a1、a2、……、an,ai 表示i 號同 學的拉尿量。

輸出

輸出結果表示拉尿所需的總時間,結果只佔一行。

輸入範例

5 3  

4 4 1 2 1 

8 4  

23 71 87 32 70 93 80 76 

輸出範例

163  

hint

對於第乙個樣例:

第1 秒,3 人拉尿。第1 秒結束時,1、2、3 號人每人的已拉尿量為1,3 號人拉完尿,4 號人接替3 號人開始拉尿。  

第2 秒,3 人拉尿。第2 秒結束時,1、2 號人每人的已拉尿量為2,4 號人的已拉尿量為1。  

第3 秒,3 人拉尿。第3 秒結束時,1、2 號人每人的已拉尿量為3,4 號人的已拉尿量為2。4 號人拉完尿,5 號人接替4 號人開始拉尿。  

第4 秒,3 人拉尿。第4 秒結束時,1、2 號人每人的已拉尿量為4,5 號人的已拉尿量為1。1、2、5 號人拉完尿,即所有人完成拉尿。  

總拉尿時間為4 秒。

每遍歷一次挑時間最短的填數,填完之後所用時間最長的廁所就是所求的時間

ac**

#include#include#define max 500000

int a[max];

int m;

int n;

int time;

int find(int b)

}return min;

}int main()}}

else}}

printf("%d\n",time);

}return 0;

}

學習筆記 1 19

abstract 關鍵字 可以修飾類和方法。抽象類 包含抽象方法和構造器,在開發中,會提供抽象類的子類,讓子類例項化。抽象方法 只有方法宣告,沒有方法體。若子類沒有實現父類所有的抽象方法,那麼這個子類也屬於抽象類。模版方法設計模式 抽象類的應用 模版方法的設計模式 public class temp...

Problem 蛇行矩陣

problem 蛇形矩陣是由1開始的自然數依次排列成的乙個矩陣上三角形。input 本題有多組資料,每組資料由乙個正整數n組成。n不大於100 output 對於每一組資料,輸出乙個n行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用乙個空格分開。行尾不要多餘的空格。sample i...

Problem 暴力摩托

原文 time limit 1 sec memory limit 128 mb n個站,之間連了m條雙向的通路!但每條路都規定了乙個速度的限制值,在這條路上必須以這個速度前進!所以在 前進的時候要調整速度,現決定盡量使調整的幅度小一些,也就是使走過的路的速度最大值與最小值之差最小!第一行有2個正整數...