Submission #1662063


Source Code Expand

#include <bits/stdc++.h>
#define REP(i,a,b) for(int i=(a);i<(b);i++)
#define RREP(i,a,b) for(int i=(a);i>=(b);i--)
typedef long long ll; typedef long double ld;
using namespace std;
const int INF=1e9, MOD=1e9+7;
int n,a[100010];

int main(){
	cin >> n;
	REP(i,1,n+1) cin >> a[i];
	a[0]=a[n+1]=4;
	
	int ma=0;
	REP(i,1,n+1){
		REP(j,1,4){
			int r=i-1,l=i+1,s=0,c=1,co=j;
			while(1){
				while(a[r]==co) r--,c++;
				while(a[l]==co) l++,c++;
				if(c<4) break;
				s+=c,c=0;
				if(a[r]!=a[l]) break;
				co=a[r];
			}
			ma=max(ma,s);
		}
	}
				
	cout << n-ma << endl;
	return 0;
}

Submission Info

Submission Time
Task C - 連鎖
User ecasdqina
Language C++14 (GCC 5.4.1)
Score 100
Code Size 616 Byte
Status AC
Exec Time 3 ms
Memory 256 KB

Judge Result

Set Name set01 set02 set03 set04 set05
Score / Max Score 20 / 20 20 / 20 20 / 20 20 / 20 20 / 20
Status
AC × 1
AC × 1
AC
AC × 1
AC × 1
Set Name Test Cases
set01 data1
set02 data2
set03 data3
set04 data4
set05 data5
Case Name Status Exec Time Memory
data1 AC 1 ms 256 KB
data2 AC 1 ms 256 KB
data4 AC 2 ms 256 KB
data5 AC 3 ms 256 KB