#include #include using namespace std; int dp[1001][2]; int cone[1001][2];//取った時は前の、取ってない時はそのまま int main(){ int n;cin>>n; vector A(n); for(int i = 0; n > i; i++){ cin>>A[i]; } dp[0][0] = dp[0][1] = 0; cone[0][0] = cone[0][1] = -1; for(int i = 0; n > i; i++){ dp[i+1][0] = dp[i][1]+A[i]; cone[i+1][0] = cone[i][1]; if(dp[i][0] > dp[i][1]){ dp[i+1][1] = dp[i][0]; cone[i+1][1] = i; }else{ dp[i+1][1] = dp[i][1]; cone[i+1][1] = cone[i][1]; } } // for(int i = 0; n >= i; i++){ // cout << cone[i][0] << " " << cone[i][1] << endl; // } int nw; if(dp[n][0] > dp[n][1]){ cout << dp[n][0] << endl; nw = n; }else{ cout << dp[n][1] << endl; nw = cone[n][1]; } vector X; X.push_back(nw); while(cone[nw][0] != -1){ nw = cone[nw][0]; X.push_back(nw); } for(int i = X.size()-1; 0 <= i; i--){ cout << X[i]; if(i!=0)cout << " "; } cout << endl; }