Cod sursa(job #518833)

Utilizator alexamiu2008Miu Alexandra alexamiu2008 Data 3 ianuarie 2011 11:54:33
Problema Subsecventa de suma maxima Scor 75
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<stdio.h>
FILE*fin,*fout;
long  int a[6000001],i,j,sb,min,smax,n,st,dr,p;
int main(){
fin=fopen("ssm.in","r");
fout=fopen("ssm.out","w");
fscanf(fin,"%ld",&n);
for(i=1;i<=n;i++){
fscanf(fin,"%ld ",&a[i]);
a[i]=a[i]+a[i-1];
}
smax=-1000000000;
min=0;p=0;dr=1;st=0;
for(i=2;i<=n;i++){
sb=a[i]-min;

if(sb>smax){smax=sb;st=p+1;dr=i;}
if(a[i]<min){min=a[i];p=i;}

}

fprintf(fout,"%ld %ld %ld",smax,st,dr);
return 0;}