#include <fstream>
#include <climits>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int n, nr, DPCrt, DPAnt, PozAnt, SumMax = INT_MIN, st, dr;
int main()
{
cin >> n;
for(int i = 1; i <= n; i++){
cin >> nr;
DPCrt = max(nr, nr + DPAnt);
if(DPCrt > SumMax)
SumMax = DPCrt, st = PozAnt, dr = i;
else if(DPCrt == SumMax){
if(PozAnt < st)
st = PozAnt, dr = i;
else if(PozAnt == st)
if(i - PozAnt + 1 < dr - st + 1)
st = PozAnt, dr = i;
}
if(DPCrt < 0)
PozAnt = i + 1;
DPAnt = DPCrt;
}
cout << SumMax << " " << st << " " << dr;
return 0;
}
/**
Compilare pentru exemplu:
1. DPCrt = 5, SumMax = 5, st = 1, dr = 1, PozAnt = 0, DPAnt = 5
2. DPCrt = -1, SumMax = 5, st = 1, dr = 1, PozAnt = 3, DPAnt = -1
3. DpCrt = 3, SumMax = 5, st = 1, dr = 1, PozAnt = 3, DPAnt = 3
4. DPCrt = 7, SumMax = 7, st = 3, dr = 4, PozAnt = 3, DPAnt = 7
5. DPCrt = 5, SumMax = 7, st = 3, dr = 4, PozAnt = 3, DPAnt = 5
6. DpCrt = 8, SumMax = 8, st = 3, dr = 6, PozAnt = 3, DPAnt = 8
7. DPCrt = 5, SumMax = 8, st = 3, dr = 6, PozAnt = 3, DPAnt = 5
**/