Pagini recente » Cod sursa (job #1179477) | Cod sursa (job #2881244) | Cod sursa (job #954774) | Cod sursa (job #2748613) | Cod sursa (job #2215850)
#include <fstream>
#include <vector>
#include <deque>
#include <climits>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
const int Inf = INT_MAX;
int main() {
int N, K;
fin >> N >> K;
vector <int> sums;
sums.resize(N + 1);
for (int idx = 1; idx < K; ++idx) {
fin >> sums[idx];
sums[idx] += sums[idx - 1];
}
int minPartSumIdx = -1, minPartSum = Inf;
int lft, rgt, maxSum = -Inf;
for (int idx = K; idx <= N; ++idx) {
fin >> sums[idx];
sums[idx] += sums[idx - 1];
if (sums[idx - K] < minPartSum) {
minPartSum = sums[idx - K];
minPartSumIdx = idx - K;
}
int currSum = sums[idx] - minPartSum;
if (currSum > maxSum) {
maxSum = currSum;
lft = minPartSumIdx + 1;
rgt = idx;
}
}
fout << lft << ' ' << rgt << ' ' << maxSum;
}