Cod sursa(job #82330)

Utilizator 100puncteIonut Popa 100puncte Data 6 septembrie 2007 16:30:32
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
/*
100p
*/
#include<fstream.h>
#include<limits.h>

long v[60000];
long n, k;
long smax=LONG_MIN;

void citire()
{
  ifstream in("secv2.in");
  in>>n>>k;
  for (long i=1; i<=n; i++)
    in>>v[i];
  in.close();
}

void suma()
{
  long i, j, s, p;
  for (i=1; i<=k; i++) s+=v[i];
  if (s>smax){ smax=s; j=i-1;}

  for (i=k+1; i<=n; i++)
    {
      s+=v[i];
      if (s>smax)
	{
	  smax=s;
	  j=i;
	}
    }
  long sm=LONG_MIN;
  s=0;
  for (i=j; i>=j-k+1;i--)
    s+=v[i];
  if (s>sm) { sm=s; p=i+1;}

  for (i=j-k+1; i>=1; i--)
    {
      s+=v[i];
      if (s>sm){ sm=s; p=i;}
    }
  s=0;
  for (i=p; i<=j; i++)
    s+=v[i];
  ofstream out("secv2.out");
  out<<p<<" "<<j<<" "<<s;
  out.close();

}