Pagini recente » oji_go_11_12 | Cod sursa (job #1973505) | Borderou de evaluare (job #1938863) | Cod sursa (job #1199285) | Cod sursa (job #2811905)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
const int N = 5 * 1e4 + 1;
int v[N];
int main(){
int n, k;
fin >> n >> k;
for(int i = 1; i <= n; i++) fin >> v[i];
int curr_sum = 0, best_sum = -1e9, l = 0, r = 0, min_sum = 1e9, min_poz = 0, curr_sum_min = 0;
for(int i = 1; i <= n; i++){
curr_sum += v[i];
if(i >= k){
int j = i - k;
curr_sum_min += v[j];
if(curr_sum_min < min_sum){
min_sum = curr_sum_min;
min_poz = j;
}
if(curr_sum - min_sum > best_sum){
best_sum = curr_sum - min_sum;
l = min_poz + 1;
r = i;
}
}
}
fout << l << " " << r << " " << best_sum;
return 0;
}