Cod sursa(job #1913841)
| Utilizator | Data | 8 martie 2017 14:20:23 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.7 kb |
#include <stdio.h>
int main()
{
FILE *f;
int n,i,smax,inc,fin,svp,x,ssvp,sc;
f=fopen("ssm.in","r");
fscanf(f,"%d",&n);
fscanf(f,"%d",&x);
smax=x;
inc=1;
fin=1;
svp=0;
ssvp=0;
sc=x;
if (smax < 0)
{
svp=1;
ssvp=smax;
}
for (i=2; i<=n; i++)
{
fscanf(f,"%d",&x);
sc=sc+x;
x=sc-ssvp;
if (x > smax)
{
smax=x;
fin=i;
inc=svp+1;
}
if (sc < ssvp)
{
svp=i;
ssvp=sc;
}
}
fclose(f);
f=fopen("ssm.out","w");
fprintf(f,"%d %d %d",smax,inc,fin);
fclose(f);
}
