#include #define rep(i,a,b) for(int i=int(a);i> N; vector V(N),dp(N+1); rep(i,0,N)cin >> V[i]; dp[1] = V[0]; rep(i,2,N+1){ dp[i] = max(dp[i-2] + V[i-1], dp[i-1]); } cout << dp[N] << endl; set st; for(int i = N;i > 0;){ if(dp[i] == dp[i-1])i--; else{ st.insert(i); i -= 2; } } for(auto i:st)cout << i << " "; }