#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; using namespace atcoder; typedef long long ll; typedef pair P; int dp[5050][10010]; int main() { int n; cin>>n; vector v0, v1; int c0=0, c1=0; for(int i=0; i>a; if(a==2){ if(c0+c1>0){ v0.push_back(c0); v1.push_back(c1); } c0=0, c1=0; }else if(a==0) c0++; else c1++; } if(c0+c1>0){ v0.push_back(c0); v1.push_back(c1); } const int INF=1e9; int m=v0.size(); for(int i=0; i<=m; i++){ for(int j=0; j<=2*n; j++){ dp[i][j]=INF; } } dp[0][n]=0; for(int i=0; i