Cod sursa(job #319177)
| Utilizator | Data | 30 mai 2009 19:08:19 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include<iostream.h>
#include<stdio.h>
FILE *f=fopen("ssm.in","r"),*g=fopen("ssm.out","w");
int main()
{
long n,k,i,x,y,min,smax=0,s,s1,x1;
fscanf(f,"%ld\n",&n);
fscanf(f,"%ld",&k);
if(k<0) min=k;
else min=0;
s=k;
smax=k;
x=x1=1;
y=1;
for(i=2;i<=n;i++)
{
fscanf(f,"%ld",&k);
s+=k;
s1=s-min
if(s1>smax) { smax=s1;
x=x1;
y=i;}
else
{
if(s<min) { min=s;
x=i+1; }
}
}
fprintf(g,"%ld %ld %ld",smax,x,y);
return 0;
}
