Pagini recente » Monitorul de evaluare | Solutii - Summer Challenge Doi | Solutii - Summer Challenge Doi | Profil M@2Te4i | Cod sursa (job #2002066)
#include <cstdio>
#include <algorithm>
using namespace std;
const int NMAX = 50005;
long long int s[NMAX];
int main()
{
long long int n, k, i, st, dr, poz = 0, minim = 50005 * 25001, smax = -50005 * 25001;
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
scanf("%lld%lld", &n, &k);
for(i = 1;i <= n; ++i) {
scanf("%lld", &s[i]);
s[i] += s[i - 1];
if(k <= i) {
minim = min(minim, s[i - k]);
if(s[i - k] == minim) {
poz = i - k + 1;
}
if(smax < s[i] - minim) {
smax = s[i] - minim;
st = poz;
dr = i;
}
}
}
printf("%lld %lld %lld\n", st, dr, smax);
return 0;
}