Cod sursa(job #1809689)

Utilizator caprariuapCaprariu Alin-Paul caprariuap Data 19 noiembrie 2016 10:21:06
Problema Secventa 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>
#include <vector>
#define nmax 60010

using namespace std;

FILE *fin=fopen("secv2.in","r");
FILE *fout=fopen("secv2.out","w");

int n,k,s,minim[nmax],maxim,sf,st,inc[nmax],i,a;

int main()
{
   fscanf(fin,"%d%d",&n,&k);
   fscanf(fin,"%d",&a);
   s+=a;
   minim[1]=a;
   inc[1]=1;
   st=1;
   sf=1;
   maxim=a;
   for (i=2; i<=n; i++)
   {
      fscanf(fin,"%d",&a);
      s+=a;
      minim[i]=minim[i-1];
      inc[i]=inc[i-1];
      if (s-minim[i-k]>maxim)
      {
         maxim=s-minim[i-k];
         sf=i;
         st=inc[i-k]+1;
      }
      if (s<minim[i])
      {
         inc[i]=i;
         minim[i]=s;
      }
   }
   fprintf(fout,"%d %d %d\n",st,sf,maxim);
}