Pagini recente » Borderou de evaluare (job #1993751) | Cod sursa (job #2301085)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("secv2.in");
ofstream fout ("secv2.out");
int n, x, mx = -9999999999, I1, I2 = 1, p1, k, sum = -1;
int v [500003], sp [500003];
int main (){
fin >> n >> k;
for (int i = 1; i <= n; i ++){
fin >> v [i], sp [i] = sp [i - 1] + v [i];
if (i < k)sum += v [i];
}
for (int i = k; i <= n; i++){
if (sum + v [i] < sp [i] - sp [i - k])
sum = sp [i] - sp [i - k], p1 = i - k + 1;
else sum += v [i];
if (sum > mx)I1 = p1, I2 = i, mx = sum;
}
fout << I1 << " " << I2 << " " << mx;
return 0;
}