Cod sursa(job #321837)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 7 iunie 2009 16:05:08
Problema Secventa 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<stdio.h>
int a[50004],sum[50004],min[50004],i,j,k,n,mini,d,st;
long long s=-1000000000;
int main()
{ freopen("secv2.in","r",stdin);
  freopen("secv2.out","w",stdout);
  scanf("%d %d",&n,&k);
  scanf("%d",&a[i]);
  sum[1]=a[1];
  min[1]=1;
  mini=a[1];
  for(i=2;i<=n;i++) { scanf("%d",&a[i]);
                      sum[i]=sum[i-1]+a[i];
                      if(sum[i]<mini) { min[i]=i;
                                      mini=sum[i];
                                    }    
                      else min[i]=min[i-1];
                    }
 for(i=k;i<=n;i++) if((sum[i]-sum[min[i-k]])>s) { s=sum[i]-sum[min[i-k]];
                                                     d=i;
                                                     st=min[i-k]+1;
                                                   }
 printf("%d %d %lld\n",st,d,s);
 fclose(stdin);
 fclose(stdout);
 return 0;
}