Cod sursa(job #304509)

Utilizator raica_cristiraica dumitru cristian raica_cristi Data 13 aprilie 2009 13:22:34
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.29 kb
#include<stdio.h>
#define dim 50000

long long int b[dim];
int a[dim],n,m,i,k,l,st,dr,max;

void read()
{
     scanf("%d %d",&n,&l);
     b[0]=0;
     for(i=1;i<=n;i++)
     {
                      scanf("%d",&a[i]);
                      b[i]=b[i-1]+a[i];
                   //   printf("%d ",b[i]);
                      }
                  //    printf("\n");
}
void solve()
{
     for(i=1,k=l;k<=n;)
     {
                       if(b[k]<=b[k+1])
                       {k++;
                       if(b[k]-b[i]>max)
                       {
                                        max=b[k]-b[i];
                                        st=i+1;
                                        dr=k;
                                        }
                       continue;
                       }
                       else
                       if(k-i==l)
                       {
                                 k++;
                                 continue;
                                 }
                                 else
                       i++;
                       }
     printf("%d %d %d",st,dr,max);
     return ;
}
int main ()
{
    freopen("secv2.in","r",stdin);
    freopen("secv2.out","w",stdout);
    read();
    solve();
    return 0;
}