Pagini recente » Cod sursa (job #1698421) | Cod sursa (job #622161) | Cod sursa (job #2086144) | Cod sursa (job #2824459) | Cod sursa (job #1509868)
#include <stdio.h>
#define nmax 50010
using namespace std;
int t[nmax],sum[nmax],i,n,k,minn[nmax],posmin[nmax],st,dr,sol;
inline int min(int a,int b){ if (a<b) return a; else return b; }
int main() {
freopen("1.in","r",stdin);
//freopen("secv2.out","w",stdout);
scanf("%d %d",&n,&k);
for (i=1;i<=n;i++) scanf("%d",&t[i]),sum[i]=sum[i-1]+t[i];
for (i=1;i<=n;i++) {
if (sum[i]<minn[i-1]) posmin[i]=i,minn[i]=sum[i]; else
posmin[i]=posmin[i-1],minn[i]=minn[i-1];
}
sol=-0x3f3f3f3f;
for (i=k;i<=n;i++)
if (sum[i]-sum[posmin[i-k]]>sol) {
sol=sum[i]-sum[posmin[i-k]]; st=posmin[i-k]+1; dr=i;
}
printf("%d %d %d",st,dr,sol);
return 0;
}