Pagini recente » Cod sursa (job #2424516) | Cod sursa (job #2572596) | Cod sursa (job #1467335) | Cod sursa (job #2940505) | Cod sursa (job #2191358)
// SortChar.cpp : Defines the entry point for the console application.
//
#include <queue>
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
long long maxSlidingWindow(vector<int>& nums, int k) {
deque<int> Qi_min;
int difference_max = -1;
for (int i = 0; i < k; i++) {
while (!Qi_min.empty() && nums[i] < nums[Qi_min.back()]) {
Qi_min.pop_back();
}
Qi_min.push_back(i);
}
vector<int> solution(nums.size());
long long sum = 0;
for (int i = k; i <= nums.size(); i++) {
sum += nums[Qi_min.front()];
if (i == nums.size()) break;
while (!Qi_min.empty() && Qi_min.front() <= i - k) {
Qi_min.pop_front();
}
while (!Qi_min.empty() && nums[i] < nums[Qi_min.back()]) {
Qi_min.pop_back();
}
Qi_min.push_back(i);
}
return sum;
}
int main()
{
//5, 9, 4, 7, 4, 1
int n = 0, k = 0;
vector<int> V;
f >> n >> k;
for (int i = 0, x = 0; i < n; i++) {
f >> x;
V.push_back(x);
}
g << maxSlidingWindow(V, k);
return 0;
}