Cod sursa(job #263041)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 19 februarie 2009 21:10:01
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>
int n,i,j,p,q,sg,x,s,l,L,smax;

int main(){
char b[1028];
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);

scanf("%d\n",&n);
q=fread(b,sizeof(char),1024,stdin);

j=0;
for (i=1;i<=n;++i){
  sg=1;x=0;
  if (b[j]=='-')sg=-1,j++;
  while (b[j]>='0'&&b[j]<='9'&&j<q){
    x=x*10+b[j]-'0';
    j++;if (j==1024){q=fread(b,sizeof(char),1024,stdin);j=0;}
  }
  x*=sg;j++;
	printf("%d ",x);
  if (j==1024){q=fread(b,sizeof(char),1024,stdin);j=0;}
  s+=x;l++;if (s<0){s=0;l=0;}
  if (s>smax){smax=s;p=i;L=l;}
}
printf("%d %d %d\n",smax,p-L+1,p);
return 0;
}