#include #include #include using namespace atcoder; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000001 int main(){ int N; cin>>N; vector A(N); rep(i,N){ cin>>A[i]; } vector l,r; rep(i,N){ l.push_back(i); for(int j=i;j cost(l.size(),0); rep(i,l.size()){ for(int j=l[i];jN)continue; ndp[nj] = min(ndp[nj],dp[j] + cost[i]); } swap(dp,ndp); } int ans = dp[cnt]; if(ans==Inf)ans = -1; cout<