#include <bits/stdc++.h>
using namespace std;

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

    int n;
    cin >> n;

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

    int maxSum    = v[1];
    int curSum    = v[1];
    int bestStart = 1;
    int bestEnd   = 1;
    int tempStart = 1;

    for (int i = 2; i <= n; i++) {
        // daca e mai bine sa incepem un subsir nou de la i
        if (curSum + v[i] < v[i]) {
            curSum    = v[i];
            tempStart = i;
        } else {
            curSum += v[i];
        }

        // actualizam maximul global
        if (curSum > maxSum) {
            maxSum    = curSum;
            bestStart = tempStart;
            bestEnd   = i;
        }
    }

    cout << maxSum << "\n";
    cout << bestStart << " " << bestEnd << "\n";

    return 0;
}