Cod sursa(job #482219)
| Utilizator | Data | 2 septembrie 2010 20:20:14 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include <stdio.h>
using namespace std;
int n, i, nr;
int p1, poz1, poz2;
int suma, suma_Max = -100000;
int main ()
{
FILE *f = fopen ("ssm.in","r");
FILE *g = fopen ("ssm.out","w");
fscanf (f,"%d", &n);
for (i=1; i<=n; ++i)
{
fscanf (f,"%d", &nr);
if (suma < 0)
{
suma = nr;
p1 = i;
}
else
suma += nr;
if (suma > suma_Max)
{
suma_Max = suma;
poz1 = p1;
poz2 = i;
}
}
fprintf (g, "%d %d %d\n", suma_Max, poz1, poz2);
fclose (g);
fclose (f);
return 0;
}
