#include #include #include using namespace std; int main(){ int n; cin >> n; int v[n]; for(int i = 0; i < n; i++) cin >> v[i]; if(n == 1){ cout << v[0] << endl; cout << 1 << endl; return 0; } int dp[n]; dp[0] = v[0]; dp[1] = max(v[0], v[1]); for(int i = 2; i < n; i++) dp[i] = max(dp[i - 1], dp[i - 2] + v[i]); cout << dp[n - 1] << endl; vector ans; for(int i = n - 1; 0 <= i; i--){ if(2 <= i && dp[i] - dp[i - 2] == v[i]) ans.emplace_back(i-- + 1); } ans.emplace_back((dp[0] != dp[1]) + 1); reverse(ans.begin(), ans.end()); for(int num:ans) cout << num << ' '; cout << endl; }