Cod sursa(job #261125)
Utilizator | Data | 17 februarie 2009 21:35:33 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include<stdio.h>
#define Inf 0x3f3f3f3f
FILE*f=fopen("ssm.in","r");
FILE*g=fopen("ssm.out","w");
int n,x;
int main()
{
fscanf(f,"%d%d",&n,&x);
int smax,sc=0, pi, pf, ii;
sc=x; smax=x; pi=1; pf=1; ii=1;
int i;
for(i=2;i<=n;++i)
{
fscanf(f,"%d",&x);
if(sc<0)
{
ii = i;
sc=x;
}
else sc+=x;
if(sc>smax)
{
smax=sc;
pi = ii;
pf=i;
}
}
fprintf(g,"%d %d %d\n",smax,pi,pf);
return 0;
}