Pagini recente » Cod sursa (job #3234983) | Cod sursa (job #925806) | Cod sursa (job #3198097) | Cod sursa (job #384256) | Cod sursa (job #1590346)
#include <cstdio>
#define MAX 50000
using namespace std;
int v[MAX+1], best[MAX+1], poz1[MAX+1], s[MAX+1];
int main()
{
freopen("secv2.in", "r", stdin);
freopen("secv2.out", "w", stdout);
int n, k, i, max, maxi, maxj;
scanf("%d%d", &n, &k);
for(i=1;i<=n;i++)
scanf("%d", &v[i]);
for(i=1;i<=n;i++)
s[i]=s[i-1]+v[i];
max=s[k];
poz1[k]=1;
best[k]=s[k];
for(i=k+1;i<=n;i++)
{
if(best[i-1]+v[i]>s[i]-s[i-k])
{
poz1[i]=poz1[i-1];
best[i]=best[i-1]+v[i];
}
else
{
best[i]=s[i]-s[i-k];
poz1[i]=i-k+1;
}
if(max<best[i])
{
max=best[i];
maxi=poz1[i];
maxj=i;
}
}
printf("%d %d %d", maxi, maxj, max);
return 0;
}