Cod sursa(job #515690)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 22 decembrie 2010 09:46:12
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include<stdio.h>
#define N 6000001
int main()
{long n,i,j=1,max=-N,k=1,s,b,t=0,s1,b1,v=0,k1=1,j1=1;
char c; 
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%ld\n",&n);
scanf("%c",&c);
if(c=='-')
      v++;
while(c!=' '&&c!='\n')
      {if(c!='-')
           t=t*10+(c-'0');
      scanf("%c",&c);}
if(v==1)
      t=-t;
b=s=t;
for(i=2;i<=n;i++)
      {scanf("%c",&c);
      v=0;
      t=0;
      if(c=='-')
            v++;
      while(c!=' '&&c!='\n')
            {if(c!='-')
                 t=t*10+(c-'0');
            scanf("%c",&c);}
      if(v==1)
            t=-t;
      s1=s+t;
      if(b>s)
            {b1=s;
            j1=i;}
      else
            b1=b;
      if(max<s1-b1)
            {max=s1-b1;
            k1=i;}
      if(j1>k1)
            j1=k1;
      s=s1;
      b=b1;
      j=j1;
      k=k1;}
printf("%ld %ld %ld\n",max,j,k);
fclose(stdin);
fclose(stdout);
return 0;}