Cod sursa(job #97193)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 5 noiembrie 2007 19:27:19
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream.h>
#include <values.h>
long a[50000],n,K,inc,sf,min;
void citire(){
ifstream fin("secv2.in");
fin>>n>>K;
for (long i=0;i<n;i++)
   fin>>a[i];
fin.close();
}
long maxim(){
long max=-MAXLONG,S=0;
for (long q=0;q<K;q++)
    S+=a[q];
long S1=S;
  max=S;
    inc=1;
  sf=K+1;
for (long h=K;h<n;h++){
   S1+=a[h];
   if (S1>max){
     max=S1;
     inc=1;
     sf=h+1;}}
for (long i=1;i<=n-K;i++){
    S-=a[i-1];
    S+=a[i+K-1];
    S1=S;
    if (max<S){
       max=S;
       inc=i+1;
       sf=i+K+1;}
    for (long j=i+K;j<n;j++){
       S+=a[j];
       if (S>max){
	  max=S;
	  inc=i+1;
	  sf=j+1;}
    }
    S=S1;
}
return max;
}
int main(){
citire();
ofstream fout("sec2.out");
min=maxim();
fout<<inc<<" "<<sf<<" "<<min<<"\n";
fout.close();
return 0;
}