Cod sursa(job #168090)

Utilizator mihai_floreaFlorea Mihai Alexandru mihai_florea Data 30 martie 2008 18:32:31
Problema Secventa 2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <cstdio>
int a[50005],n,k,i,ls,ld;
long long s[50005],aux;
int max(long long x,long long y,long long z){
    return( (x>y ? x:y)>z ? (x>y ? x:y):z);
}
int main(){
    freopen("secv2.in","r",stdin);
    freopen("secv2.out","w",stdout);
    scanf("%d %d",&n,&k);
    for (i=1;i<=n;i++) scanf("%d",&a[i]);
    ls=1;ld=k;s[0]=0;
    for (i=1;i<=n;i++) s[i]=s[i-1]+a[i];
    for (i=k+1;i<=n;i++)
     {aux=max(s[ld]-s[ls-1],s[i]-s[ls-1],s[i]-s[i-k+1]);
      if (aux==s[i]-s[ls-1]) ld=i;
       else if (aux==s[i]-s[i-k+1]) {ls=i-k+1;
                                     ld=i;}
       }
    printf("%d %d %d",ls,ld,s[ld]-s[ls-1]);
    return 0;
}