Cod sursa(job #127077)

Utilizator perticas_catalinperticas catalin perticas_catalin Data 23 ianuarie 2008 12:34:43
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
//secventa2
#include<stdio.h>
FILE*fin=fopen("secv2.in","r");
FILE*fout=fopen("secv2.out","w");
int main()
{
  long m[50001],mi[50001],sum[50001],max=-1250000000;
  int v[50001],n,k,i,d,s;
  fscanf(fin,"%d%d",&n,&k);
  sum[0]=0;mi[0]=0;m[0]=0;
  for(i=1;i<=n;i++)
  {
    fscanf(fin,"%d",&v[i]);
    sum[i]=sum[i-1]+v[i];
    if(sum[i]<m[i-1])
    {
      m[i]=sum[i];
      mi[i]=i;
    }
    else
    {
      m[i]=m[i-1];
      mi[i]=mi[i-1];
    }
  }
  for(i=k;i<=n;i++)
    if(sum[i]-m[i-k]>max)
    {
      d=i;
      s=mi[i-k];
      max=sum[i]-m[i-k];
    }
  fprintf(fout,"%d%c%d%c%ld",s+1,' ',d,' ',max);
  fclose(fin);
  fclose(fout);
  return 0;
}