[COCI2007-2008#4] MUZICARI 题解

Posted inversentropir-36

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[COCI2007-2008#4] MUZICARI 题解相关的知识,希望对你有一定的参考价值。

大家都知道,这题作为T4还是未免有的太水了一点。

基本思路大概是这样的:

  1. 一开始,第一个曲师要休息 (a_1) 分钟,直接让他从 (0) 分钟开始休息;
  2. 第二名曲师过来了,他要休息 (a_2) 分钟,也直接让他从 (0) 分钟开始休息。
  3. 第三名曲师过来了,他要休息 (a_3) 分钟,看是第一个曲师在的房间所休息过的人的时间总和小还是第二个曲师在的房间所休息过的人的时间总和小,哪个小选哪个,同时把自己所要休息的时间加到该房间去。

如此循环往复,得到的便是可行解,由于得到的一定在 (t) 分钟里面,所以 (t) 是无用变量。

代码:

#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;
	}
}

以上是关于[COCI2007-2008#4] MUZICARI 题解的主要内容,如果未能解决你的问题,请参考以下文章

[COCI2006-2007#1] Slikar

bzoj3188 [Coci 2011]Upit(分块)

bzoj3087: Coci2009 misolovke

[COCI2012Final]Pro1

bzoj3524 [Poi2014]Couriers/2223 [Coci 2009]PATULJCI

[coci2012]覆盖字符串 AC自动机