Pagini recente » Cod sursa (job #2576868) | Cod sursa (job #1752826) | Cod sursa (job #1054438) | Cod sursa (job #369033) | Cod sursa (job #1719873)
#include<cstdio>
#include<algorithm>
using namespace std;
int n,k,m[50005],s[50005],x,maxim,ld,c[50005],ls,l1,l2;
int main()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
scanf("%d%d",&n,&k);
m[0]=0;
c[0]=0;
s[0]=0;
maxim=-9999999;
for(int i=1;i<=n;i++)
{
scanf("%d",&x);
s[i]=s[i-1]+x;
if (s[x]<m[i-1])
{
c[i]=i;
m[i]=s[x];
}
else
{c[i]=c[i-1];m[i]=m[i-1];}
if (i>=k && s[i]>maxim) maxim=s[i],ls=1,ld=i;
}
// maxim=s[k];
// ls=1;
// ld=k;
for(int i=(k+1);i<=n;i++)
{
x=s[i]-m[i-k];
// l1=c[i-k]+1;
// l2=i;
if (x>=maxim)
{
maxim=x;
ld=i;
ls=c[i-k]+1;
}
}
printf("%d %d %d\n",ls,ld,maxim);
return 0;
}