Pagini recente » Cod sursa (job #581745) | Cod sursa (job #359889) | Cod sursa (job #2375948) | Cod sursa (job #166196) | Cod sursa (job #1815771)
#include <cstdio>
#define INFINIT (1 << 31) - 1
int n;
int main()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%d", &n);
int first;
scanf("%d", &first);
int s = first;
int sMax = first;
int begS = 1;
int endS = 1;
int auxBeg = 1;
int nr;
for (int i = 2; i <= n; ++i) {
scanf("%d", &nr);
if (s < 0) { // daca suma este negativa, nu are rost sa continuam secventa actuala, rin urmare incepem una nou
s = nr;
auxBeg = i;
} else {
s += nr;
}
if (s > sMax) {
sMax = s;
begS = auxBeg;
endS = i;
}
}
printf("%d %d %d\n", sMax, begS, endS);
return 0;
}