Cod sursa(job #304509)
Utilizator | 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;
}