Cod sursa(job #877011)
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int n,i,p,u,maxim,pmax,umax;
int v[6000000] , d[6000000];
int main () {
fin >> n;
for (i=1;i<=n;i++)
fin>>v[i];
d[1]=v[1];
maxim=d[1];
pmax=1;umax=1;
p=1;u=1;
for (i=2;i<=n;i++) {
if (v[i] + d[i-1] >= v[i]) {
d[i] = v[i]+d[i-1];
} else {
d[i] = v[i];
p = i;
}
if (d[i] > maxim) {
maxim = d[i];
pmax = p;
umax = i;
} else
if (d[i] == maxim)
if (p == pmax && i<umax)
umax = i;
}
fout <<maxim<<" "<<pmax<<" "<<umax<<"\n";
return 0;
}