Disturbed People CodeForces - 1077B

贪心题,先关掉那些管一个灯造福两个寝室的,然后一边关灯一边统计一边继续向后判断。最后加上那些依然还受影响的寝室数(只要受影响我一定要关一盏灯),不废话,看代码;

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
const int maxn=1e5+6;
int a[maxn];
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	int cnt=0;
	for(int i=1;i<=n;i++){
		if(a[i]==0&&a[i-1]==1&&a[i+1]==1&&a[i+2]==0&&a[i+3]==1){
			a[i+1]=0;
			cnt++;
			//cout<<i+1<<endl;
		}
	}
	for(int i=1;i<=n;i++){
		if(a[i]==0&&a[i-1]==1&&a[i+1]==1)cnt++;
	}
	cout<<cnt<<endl;
}
原创文章 38 获赞 7 访问量 1746

猜你喜欢

转载自blog.csdn.net/Alanrookie/article/details/106033897