Cod sursa(job #398443)

Utilizator arnold23Arnold Tempfli arnold23 Data 18 februarie 2010 18:24:30
Problema Subsecventa de suma maxima Scor 75
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <stdio.h>

long a;
long n,i,best,kezd,veg,sum,q;
long k[6000010];
const long inf=-(int)2e9;

int main()
{
    
  freopen("ssm.in","r",stdin);
  freopen("ssm.out","w",stdout);
  
  scanf("%ld\n",&n);  
  best=inf;
  k[0]=0;
  sum=0;
  for(i=1;i<=n;++i)
  {
   scanf("%ld ",&a);  
   q=sum+a;
   if(q>=a) {sum=q; k[i]=k[i-1]; }
   else {sum=a; k[i]=i; }
   if(sum>best) {best=sum; kezd=k[i]; veg=i; }           
  } 
              
  
  printf("%ld %ld %ld",best,kezd,veg);
       
  return 0;    
}