Pagini recente » Cod sursa (job #3361705) | Cod sursa (job #3361678) | Cod sursa (job #3362067) | Cod sursa (job #3361704) | Cod sursa (job #3361687)
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
long long n, m, v[200005], maxim = -999999999, k;
int main() {
cin >> n >> k;
for (long long i = 1; i <= n; i ++) {
cin >> v[i];
}
long long suma = 0, sumaUltimelorKminus1Elemente = 0,
pozInceput, pozFinal, inc = 1;
for (long long i = 1; i <= n; i ++) {
suma += v[i];
sumaUltimelorKminus1Elemente += v[i];
if (i-k+1 >= 1)
sumaUltimelorKminus1Elemente -= v[i-k+1];
if (suma > maxim) {
maxim = suma;
pozFinal = i;
pozInceput = inc;
}
if (suma < sumaUltimelorKminus1Elemente) // Vrem sa ramanem cu cel putin
{
suma = sumaUltimelorKminus1Elemente; // k-1 elemente
inc = i - k + 2;
}
}
cout << pozInceput << ' ' << pozFinal << ' ' << maxim;
return 0;
}