Cod sursa(job #276938)

Utilizator zbarniZajzon Barna zbarni Data 11 martie 2009 13:45:26
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream.h>
#define nx 50005
#define inf 1250000005
long a[nx],sum[nx],best[nx];

int main()
 {
  ifstream be ("secv2.in");
  ofstream ki ("secv2.out");
  long n,k,max=-inf,min;
  int i,pos,pos1=0,pos2=0;
  be>>n>>k;

  for (i=1;i<=n;++i)
   {
    be>>a[i];
    sum[i]=sum[i-1]+a[i];
   }
  be.close();
  min=0;pos=0;
  for (i=1;i<=n;++i)
   {
    best[i]=sum[i]-min;
    if (pos<i-k) {
    if (sum[i-k]<min)
     {
      min=sum[i-k];
      pos=i-k;
     }
    }
    if (max<best[i] && i>=k)
     {
      max=best[i];
      pos2=i;
      pos1=pos+1;
     }
   }
  ki<<pos1<<" "<<pos2<<" "<<max<<'\n';
  ki.close();
  return 0;
 }