Cod sursa(job #886760)
| Utilizator | Data | 23 februarie 2013 11:20:17 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
int n;
int main()
{
int i, s, maxim, x, j, st, dr;
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%d", &n);
s = maxim = 0;
for (i = 1; i <= n; i++)
{
scanf("%d", &x);
if (x > s + x)
{
s = x;
j = i;
}
else
{
s = s + x;
}
if (s > maxim)
{
maxim = s;
st = j;
dr = i;
}
}
printf("%d %d %d", maxim, st, dr);
return 0;
}
