WA#5,求调
查看原帖
WA#5,求调
681941
OIer_Hhy楼主2024/5/19 12:58

麻烦哪位大佬帮我看看,本蒟蒻用的是贪心

#include<bits/stdc++.h>
using namespace std;
int n,a[200010],ans;
bool b[200010];
signed main(){
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i];
	for(int i=n;i>=1;i--){
		if(a[i]==2){
			if((!b[i]+!b[i-1]+!b[i+1])>=2){
				ans++;
				b[i]=b[i-1]=b[i+1]=1;
			}	
		}
	}
	for(int i=n;i>=1;i--){
		if(a[i]==1){
			if(!b[i]){
				b[i]=1;
				ans++;
			} 
			if(i>2&&!b[i-1]) b[i-1]=1;
			else b[i+1]=1;
		}
	}
	for(int i=1;i<=n;i++){
		if(!b[i]) ans++; 
	}
	cout<<ans<<endl;
	return 0;
}

2024/5/19 12:58
加载中...