[COCI2007-2008#4] MUZICARI 題解

你們都知道,這題做爲T4仍是未免有的太水了一點。c++

基本思路大概是這樣的:spa

  1. 一開始,第一個曲師要休息 \(a_1\) 分鐘,直接讓他從 \(0\) 分鐘開始休息;
  2. 第二名曲師過來了,他要休息 \(a_2\) 分鐘,也直接讓他從 \(0\) 分鐘開始休息。
  3. 第三名曲師過來了,他要休息 \(a_3\) 分鐘,看是第一個曲師在的房間所休息過的人的時間總和小仍是第二個曲師在的房間所休息過的人的時間總和小,哪一個小選哪一個,同時把本身所要休息的時間加到該房間去。

如此循環往復,獲得的即是可行解,因爲獲得的必定在 \(t\) 分鐘裏面,因此 \(t\) 是無用變量。code

代碼:it

#include <bits/stdc++.h>
using namespace std;
int n,s1,s2,a;		//s1,s2分別表明第一和第二個房間
int main(){
	scanf("%d",&n);scanf("%d",&n);
	while(n--){
		scanf("%d",&a);
		printf("%d ",min(s1,s2));
        if(s1<s2)s1+=a;
        else s2+=a;
	}
}
相關文章
相關標籤/搜索