Pagini recente » Cod sursa (job #496406) | Cod sursa (job #88647) | Cod sursa (job #3216970) | Cod sursa (job #301203) | Cod sursa (job #2759494)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 50003;
int n,k,hmax,x,y;
int s[NMAX];
struct elem{
int sum,poz;
}dp[NMAX];
int main(){
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
scanf("%d %d",&n,&k);
for(int i=1;i<=n;i++){
int x;
scanf("%d",&x);
s[i]=s[i-1]+x;
if(x + dp[i-1].sum > x){
dp[i].sum = x + dp[i-1].sum;
dp[i].poz=dp[i-1].poz;
}else{
dp[i].poz=i;
dp[i].sum=x;
}
}
for(int i=k;i<=n;i++){
int best = (s[i]-s[i-k]) + dp[i-k].sum;
if(hmax < best){
hmax = best;
x=dp[i-k].poz;
y=i;
}
}
printf("%d %d %d\n",x,y,hmax);
return 0;
}