Pagini recente » Cod sursa (job #3354887) | Cod sursa (job #3315166) | Cod sursa (job #3324062) | Cod sursa (job #3354885) | Cod sursa (job #3314780)
#include <iostream>
#include <fstream>
#include <cstring>
#define int long long
using namespace std;
string filename = "secv2";
ifstream fin(filename + ".in");
ofstream fout(filename + ".out");
const int NMAX = 50000;
int v[NMAX + 5];
int sp[NMAX + 5];
pair<int,int> minn[NMAX + 5];
pair<int,int> minim(pair<int,int> a,pair<int,int> b)
{
if(a.first < b.first)
return a;
return b;
}
signed main()
{
int n,k;
fin>>n>>k;
for(int i=1;i<=n;i++)
{
fin>>v[i];
sp[i] = sp[i-1] + v[i];
minn[i]=minim(minn[i-1], make_pair(sp[i],i));
}
int rez=-2e18;
int st,dr;
for(int i=k;i<=n;i++)
{
if(rez < sp[i]-minn[i-k].first)
{
rez = sp[i]-minn[i-k].first;
st = minn[i-k].second + 1;
dr = i;
}
}
fout<<st<<' '<<dr<<' '<<rez;
return 0;
}