#include #include #include #include #include #include using namespace std; int main() { int n; cin >> n; vector v(n, 0); for (int i = 0; i < n; i++) { cin >> v[i]; } vector< vector< pair > > dp(2, vector< pair >(n)); dp[0][0] = make_pair(0, "0"); dp[1][0] = make_pair(v[0], "1"); int which; for (int i = 1; i < n; i++) { which = dp[0][i - 1].first >= dp[1][i - 1].first ? 0 : 1; dp[0][i] = make_pair(dp[which][i - 1].first, dp[which][i - 1].second + "0"); dp[1][i] = make_pair(dp[0][i - 1].first + v[i], dp[0][i - 1].second + "1"); } which = dp[0][n - 1].first >= dp[1][n - 1].first ? 0 : 1; string str = dp[which][n - 1].second; vector ans; for (int i = 0; i < n; i++) { if (str[i] == '1') { ans.push_back(i); } } cout << dp[which][n - 1].first << endl; for (int i = 0; i < ans.size(); i++) { if (i != 0) { cout << " "; } cout << ans[i] + 1; } cout << endl; return 0; }