Cod sursa(job #398437)

Utilizator arnold23Arnold Tempfli arnold23 Data 18 februarie 2010 18:09:52
Problema Subsecventa de suma maxima Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <stdio.h>

long a;
long n,i,best,kezd,veg;

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