///ssm folosind dinamica
///pt. fiecare el. i: pot sa incep subsecventa de pe el. i sau pot sa o continui cu el. i
#include <bits/stdc++.h>
using namespace std;
ifstream F("ssm.in");
ofstream G("ssm.out");
int n, x, L, R, l, r, d[6000005], bestans;
int main()
{
F >> n;
bestans=-1<<30;
for(int i = 1; i <= n; ++ i)
{
F >> x; d[i]=max(d[i-1]+x, x);
if(d[i-1]+x<x) /// sau d[i-1]<x-x <=> d[i-1]<0
d[i]=x, l=i;
else d[i]=d[i-1]+x;
if(d[i]>bestans) bestans=d[i], L=l, R=i;
}
if(L > R) L = R;
G << bestans << " " << L << " " << R;
return 0;
}