Pagini recente » Cod sursa (job #695751) | Cod sursa (job #3321170) | Cod sursa (job #507477) | Cod sursa (job #3340186) | Cod sursa (job #3310396)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
const int nmax=500000;
long long v[nmax+3];
long long sp[nmax+3];
const int INF=1e9;
int main()
{
int n,k;
fin>>n>>k;
for(int i=1;i<=n;i++)
{
fin>>v[i];
sp[i]=sp[i-1]+v[i];
}
long long ansewer=-INF,minsum=0,j;
int st,dr;
for(int i=k;i<=n;i++)
{
long long candidat=sp[i]-minsum;
if(candidat>ansewer)
{
ansewer=candidat;
st=j;
dr=i;
}
else if(candidat==ansewer && j<st)
{
st=j;
dr=i;
}
if(sp[i-k]<minsum)
{
minsum=sp[i-k];
j=i-k+1;
}
}
fout<<" "<<st<<" "<<dr<<" "<<ansewer;
return 0;
}