Cod sursa(job #1588437)
| Utilizator | Data | 3 februarie 2016 03:57:46 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 55 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include <stdio.h>
#include <limits.h>
int best = INT_MIN;
int n, bg, en, sMax;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for (int i = 1; i <= n; i++)
{
int x;
scanf("%d",&x);
if (x > best + x)
{
best = x;
bg = i;
}
else
best += x;
if (best > sMax)
{
sMax = best;
en = i;
}
}
printf("%d %d %d",sMax, bg, en);
return 0;
}
