#include <bits/stdc++.h>

using namespace std;

int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);

  int n;
  cin >> n;
  vector<int> v(n);
  for (int i = 0; i < n; i++)
    cin >> v[i];

  vector<vector<int> > dp(n+1, vector<int>(2));
  vector<vector<int> > pre(n+1, vector<int>(2));
  
  for (int i = 0; i < n; i++) {
    dp[i+1][0] = max(dp[i][0], dp[i][1]);
    if (dp[i+1][0] == dp[i][0])
      pre[i+1][0] = 0;
    else
      pre[i+1][0] = 1;

    dp[i+1][1] = dp[i][0] + v[i];
    pre[i+1][1] = 0;
  }
  
  int r = max(dp[n][0], dp[n][1]);
  cout << r << endl;

  int q = dp[n][1] > dp[n][0] ? 1 : 0;
  vector<int> w;
  for (int i = n; i > 0; i--) {
    if (q)
      w.push_back(i);
    q = pre[i][q];
  }

  reverse(w.begin(), w.end());
  for (int t: w)
    cout << t << " ";
  cout << endl;

  return 0;
}