Cod sursa(job #398442)

Utilizator arnold23Arnold Tempfli arnold23 Data 18 februarie 2010 18:21:28
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <stdio.h>

long a;
long n,i,best,kezd,veg,sum;
long k[6000010];
const long inf=-2000000000;

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);  
   if(sum+a>=a) {sum+=a; 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;    
}