Pagini recente » Cod sursa (job #1563566) | Cod sursa (job #2797941) | Cod sursa (job #1139879) | Cod sursa (job #534849) | Cod sursa (job #2366879)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
deque < pair < int , int > > dq;
long long sum;
int n , k;
int main()
{
int x;
fin >> n >> k;
for(int i = 1 ; i <= k ; i++)
{
fin >> x;
while(!dq.empty() && dq.back().first >= x)
dq.pop_back();
dq.push_back({x , i});
}
sum += dq.front().first;
for(int i = k + 1 ; i <= n ; i++)
{
fin >> x;
while(!dq.empty() && dq.back().first >= x)
dq.pop_back();
dq.push_back({x , i});
if(i - dq.front().second >= k)
dq.pop_front();
sum += dq.front().first;
}
fout << sum << "\n";
fin.close();
fout.close();
}