Cod sursa(job #515683)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 22 decembrie 2010 08:40:51
Problema Subsecventa de suma maxima Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include<stdio.h>
int main()
{long n,i,j=1,max,k=1,s,b,t=0,s1,b1,v=0;
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;
t=0;
for(i=2;i<=n;i++)
      {scanf("%c",&c);
      v=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;
      t=0;
      if(b>s)
            {b1=s;
            j=i;}
      else
            b1=b;
      max=s-b;
      if(max<s1-b1)
            {max=s1-b1;
            k=i;}
      s=s1;
      b=b1;}
printf("%ld %ld %ld\n",max,j,k);
fclose(stdin);
fclose(stdout);
return 0;}