#include using namespace std; int main(){ int N,input,range=0; cin>>N; vector a(2,0); vector> A(0); for(int i=0;i>input; if(input==2){ A.emplace_back(a); fill(a.begin(),a.end(),0); }else{ ++a[input]; range+=input; } } A.emplace_back(a); vector dp(range+1,-INT_MAX); dp[0]=0; for(vector v:A){ v[0]+=v[1]; for(int i=range-v[0];i>=0;--i){ dp[i+v[0]]=max(dp[i+v[0]],dp[i]+v[1]); } } cout<<(dp[range]>=0?range-dp[range]:-1)<