Pagini recente » Cod sursa (job #2133981) | Cod sursa (job #379363) | Cod sursa (job #2612593) | Cod sursa (job #1850715) | Cod sursa (job #3031875)
#include <bits/stdc++.h>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int main()
{
long long n, k, sum = 0;
f >> n >> k;
vector < int > a(n);
deque < int > D;
for(int i = 0; i < n; i++)
f >> a[i];
for(int i = 0; i < k -1; i++){
if(!D.empty())
while(a[i] <= a[D.back()])
D.pop_back();
D.push_back(i);
}
for(int i = k - 1; i < n;i++){
if(!D.empty())
while(a[i] <= a[D.back()])
D.pop_back();
D.push_back(i);
if(i - D.front() >= k)
D.pop_front();
sum += a[D.front()];
}
g << sum;
return 0;
}