#include using namespace std; int n, a[1009], dp[1009], pre[1009]; int main() { cin >> n; for(int i = 0; i < n; i++) cin >> a[i]; for(int i = 0; i < n; i++) { dp[i] = a[i]; pre[i] = -1; for(int j = 0; j < i - 1; j++) { if(dp[j] + a[i] > dp[i]) { dp[i] = dp[j] + a[i]; pre[i] = j; } } } int res = max_element(dp, dp + n) - dp; cout << dp[res] << endl; int pos = res; vector v; while(pos != -1) { v.push_back(pos); pos = pre[pos]; } reverse(v.begin(), v.end()); for(int i = 0; i < v.size(); i++){ if(i) cout << ' '; cout << v[i] + 1; } return 0; }