Pagini recente » Cod sursa (job #1288266) | Cod sursa (job #2756419) | Cod sursa (job #1630728) | Cod sursa (job #1515751) | Cod sursa (job #1333888)
#include <fstream>
#include <cstdio>
using namespace std;
ofstream fout("secv2.out");
long long smax,inc,sf,a,n,k;
int s[50001];
struct vector{int val,poz;} vmax[50001];
int main()
{
freopen("secv2.in","r",stdin);
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++)
{
scanf("%d",&a);
s[i]=s[i-1]+a;
}
vmax[n].val=s[n]; vmax[n].poz=n;
for(int i=n-1;i>=k;i--)
if(vmax[i+1].val<s[i])
vmax[i].val=s[i],vmax[i].poz=i;
else
vmax[i]=vmax[i+1];
smax=s[k]; inc=1; sf=k;
for(int i=1;i<=n-k+1;i++)
{
if(smax<vmax[i+k-1].val-s[i-1])
smax=vmax[i+k-1].val-s[i-1],inc=i,sf=vmax[i+k-1].poz;
}
fout<<inc<<' '<<sf<<' '<<smax<<'\n';
return 0;
}