Pagini recente » Cod sursa (job #1869797) | Cod sursa (job #2613470) | Cod sursa (job #3270750) | Cod sursa (job #2672171) | Cod sursa (job #2382347)
#include <bits/stdc++.h>
using namespace std;
ifstream inf("deque.in");
ofstream outf("deque.out");
int n, k;
deque<pair<int,int>> d;
long long sum;
int main()
{
inf>>n>>k;
for(int i=1; i<k; i++)
{
int x;
inf>>x;
if(d.empty())
d.push_back({x,i});
else
{
while(!d.empty()&&d.back().first>x)
d.pop_back();
d.push_back({x,i});
}
}
for(int i=k; i<=n; i++)
{
int x;
inf>>x;
while(!d.empty()&&d.back().first>x)
d.pop_back();
d.push_back({x,i});
while(!d.empty()&&d.front().second<=i-k)
d.pop_front();
sum+=d.front().first;
}
outf<<sum;
return 0;
}