Cod sursa(job #23330)

Utilizator AdixSuciu Adrian Adix Data 28 februarie 2007 17:35:51
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <stdio.h>
#include <math.h>
#include <values.h>
int a[5000],n,k,st=0,dr;
long smax;
long max(long value1,long value2){
		 if(value1>value2) return value1;
		 else return value2;
		 }
void citire(){
     int i;
     FILE *in;
     in=fopen("secv2.in","r");
     fscanf(in,"%d %d",&n,&k);
     dr=k;
     for(i=0;i<n;i++){fscanf(in,"%d",&a[i]);
                      }
     }
long sum(int st1,int dr1){
     long s=0;
     int i;
     for(i=st1;i<=dr1;i++){s+=a[i];                        
                           }
     return s;
     }     
long procesare(int st,int dr){
     int i;
     /*
     for(i=0;i<n-k;i++){if(sum(st,dr)>}*/
		 if(dr<n&&st<=dr-k) {return max(max(procesare(st,dr+1),procesare(st+1,dr)),procesare(st+1,dr+1));  }
                        
          return sum(st,dr);            
     
     
     }
void scriere(){
     FILE *out;
     out=fopen("secv2.out","w");
     fprintf(out,"%d %d %ld",st,dr,smax);
     fclose(out);
     }
int main(){
    citire();
    st=0;
    smax=-2000000000;
    dr=k;
    smax=procesare(st,dr);
    scriere();
    
 return 0;   
}