Cod sursa(job #501015)
| Utilizator | Data | 14 noiembrie 2010 03:25:17 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.7 kb |
#include <stdio.h>
int main()
{
int i, j, n;
int inc = 0, sf = 0;
FILE *f, *g;
f = fopen("ssm.in", "r");
g = fopen("ssm.out", "w");
fscanf(f, "%d", &n);
int a[n + 1];
for (i = 0; i < n; i++)
fscanf(f, "%d", &a[i]);
int sol = a[0], max = 0;
for (i = 0; i < n; i++)
{
max = a[i];
for (j = i + 1; j < n; j++)
{
max += a[j];
if (max > sol)
{
inc = i;
sf = j;
sol = max;
}
}
}
for (i = inc; i <= sf; i++)
fprintf(g, "%d ", a[i]);
fclose(f);
fclose(g);
return 0;
}
