记录编号 51918 评测结果 AAAAAAAAAAA
题目名称 [USACO Feb08] 晚餐队列安排 最终得分 100
用户昵称 Gravatarcstdio 是否通过 通过
代码语言 C++ 运行时间 0.009 s
提交时间 2013-01-04 20:54:03 内存使用 0.53 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
	freopen("diningb.in","r",stdin);
	freopen("diningb.out","w",stdout);
	int n;
	int d[30001]={0},f1[30001]={0},f2[30001]={0};
	int i;
	scanf("%d",&n);
	for(i=1;i<=n;i++) scanf("%d",&d[i]);
	for(i=1;i<=n;i++){
		if(d[i]==1){
			f1[i]=f1[i-1];//1只能从1改
			f2[i]=(f2[i-1]+1<f1[i-1]+1)?f2[i-1]+1:f1[i-1]+1;//2可以从1或2改
		}
		else{
			f1[i]=f1[i-1]+1;//1只能从1改
			f2[i]=(f2[i-1]<f1[i-1])?f2[i-1]:f1[i-1];//2可以从1或2改
		}
	}
	printf("%d\n",(f1[n]<f2[n])?f1[n]:f2[n]);
	return 0;
}