Cod sursa(job #3275)
#include <stdio.h>
#define fin "secv2.in"
#define fout "secv2.out"
#define MAX 50000
#define VMAX 25000
void read_data();
void solve();
int inf();
int sum[MAX+1],N,K;
int main()
{
read_data();
solve();
return 0;
}
void read_data()
{
freopen(fin,"r",stdin);
freopen(fout,"w",stdout);
scanf("%d %d",&N,&K);
for(int i=1,nr;i<=N;++i)
{
scanf("%d",&nr);
sum[i]=sum[i-1]+nr;
}
fclose(stdin);
}
int inf()
{
return VMAX*MAX+1;
}
void solve()
{
int smax=-inf(),min=inf(),pmin,st,sf;
pmin=st=sf=0;
for(int i=K;i<=N;++i)
{
if(sum[i-K]<min)
{
min=sum[i-K];
pmin=i-K;
}
if(sum[i]-min>smax)
{
smax=sum[i]-min;
st=pmin+1;
sf=i;
}
}
printf("%d %d %d\n",st,sf,smax);
fclose(stdout);
}