Cod sursa(job #301803)

Utilizator andreivFMI - vacaroiu andrei andreiv Data 8 aprilie 2009 14:21:26
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <stdio.h>
int main()
{long int stp,sst,sdr,dr,st,stt,max,i,n,k,v[50005];
 freopen("secv2.in","r",stdin);
 freopen("secv2.out","w",stdout);
 scanf("%ld %ld",&n,&k);st=1;dr=k;max=-26000;sst=0;sdr=0;
 for (i=1;i<=k;i++)
 {scanf("%ld",&v[i]);sdr=sdr+v[i];}
 if (sdr>max) {max=sdr;stt=1;stp=k;}
 for (i=k+1;i<=n;i++)
 {scanf("%ld",&v[i]); sdr=sdr+v[i];sst=sst+v[i-k];dr=i;
  if (sst<=0) {st=i-k+1;sdr=sdr-sst;sst=0;}
  if (sdr>max) {max=sdr;stt=st;stp=dr;}
 }

printf("%ld %ld %ld",stt,stp,max);
return 0;}