Cod sursa(job #674188)
| Utilizator | Data | 5 februarie 2012 19:26:38 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include<cstdio>
using namespace std;
const char in[]="ssm.in";
const char out[]="ssm.out";
int suma, x, minpoz, maxpoz, max = -0x3f3f3f3f, n, poz;
int main()
{
freopen(in,"r",stdin);
freopen(out,"w",stdout);
scanf("%d", &n);
for(int i = 1 ; i <= n ; ++i)
{
scanf("%d", &x);
if(suma < 0 ) suma = x, poz = i;
else suma += x;
if(suma > max) max = suma, minpoz = poz, maxpoz = i;
}
printf("%d %d %d\n", max, minpoz, maxpoz);
return 0;
}