Cod sursa(job #1498010)
Utilizator | Data | 7 octombrie 2015 21:20:57 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.77 kb |
#include<stdio.h>
FILE *fin,*fout;
int n,smax,lmax,v1,v2,pmax=1,l=1;
int main()
{
fin=fopen("ssm.in","r");
fout=fopen("ssm.out","w");
fscanf(fin,"%d",&n);
fscanf(fin,"%d",&v1);
smax=v1;
lmax=1;
pmax=1;
for(int i=2;i<=n;i++)
{
v2=v1;
fscanf(fin,"%d",&v1);
if(v1+v2>v1)
{
v1=v1+v2;
l++;
if(smax<v1)
{
smax=v1;
lmax=l;
pmax=i;
}
}
else
{
l=1;
if(smax<v1)
{
smax=v1;
lmax=l;
pmax=i;
}
}
}
fprintf(fout,"%d %d %d",smax,pmax-lmax+1,pmax);
}