Cod sursa(job #54559)

Utilizator DranaXumAlexandru Dumitru Paunoiu DranaXum Data 25 aprilie 2007 00:25:28
Problema Secventa 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>

int main()
{
   int a[50000],n,k,i,j,pi,pf;
   long s[50000],max;
   FILE *fin,*fout;
   fin=fopen("secv2.in","r");
   fout=fopen("secv2.out","w");
   fscanf(fin,"%d%d",&n,&k);
   int imax=0;
   s[0]=0;
   for(i=1;i<=n;i++)
   {
      fscanf(fin,"%d",&a[i]);
      s[i]+=s[i-1]+a[i];
      if(i>=k) 
         if(max<s[i] || !imax) {max=s[i]; pf=i; imax=1;}
   }
   long tmp=max;
   for(i=pf-k;i>=1;i--)
   {
      if(max-s[i]>=max){if(tmp<max-s[i])
      {tmp=max-s[i];pi=i+1;}}
   }
   fprintf(fout,"%d %d %d",pi,pf,tmp);
   fclose(fin);
   fclose(fout);
   return 0;
}