Pagini recente » Cod sursa (job #2314170) | Cod sursa (job #1455674) | Monitorul de evaluare | Cod sursa (job #1588239) | Cod sursa (job #2351390)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[6000001];
int main()
{
int n;
fin >> n;
int S = 0, Sm = 0, maxi = 0, pi, pf;
for (int i = 1; i <= n; i++) {
fin >> v[i];
if (S <= 0) {
pi = i;
S = v[i];
pf = i;
} else if (S + v[i] > Sm) {
Sm = S + v[i];
S += v[i];
pf = i;
} else {
S += v[i];
}
if (v[i] > maxi) {
maxi = v[i];
pi = i;
pf = i;
}
}
if (Sm == 0) {
Sm = maxi;
}
fout << Sm << " " << pi << " " << pf;
return 0;
}