Pagini recente » Cod sursa (job #3223022) | Cod sursa (job #57707) | Cod sursa (job #2735287) | Cod sursa (job #2408440) | Cod sursa (job #2086309)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int n, k, st[50002];
long long sp[50002], mini[50002], maxi=-1250000000;
int main()
{
int i, stk, drk;
long long x;
fin>>n>>k;
fin.get();
fin>>sp[1];
if(sp[1]>0)
mini[1]=0;
else mini[1]=sp[1];
st[1]=0;
for(i=2; i<=n; i++)
{
fin>>x;
sp[i]=sp[i-1]+x;
if(sp[i]<mini[i-1])
mini[i]=sp[i], st[i]=i;
else mini[i]=mini[i-1], st[i]=st[i-1];
}
k=max(1,k);
for(i=k; i<=n; i++)
{
x=sp[i]-mini[i-k];
if(x>maxi)
{
maxi=x;
stk=st[i-k]+1;
drk=i;
}
}
fout<<stk<<' '<<drk<<' '<<maxi<<'\n';
return 0;
}