Pagini recente » Cod sursa (job #1493432) | Cod sursa (job #896780) | Cod sursa (job #2686189) | Cod sursa (job #2039025) | Cod sursa (job #2209074)
#include <bits/stdc++.h>
using namespace std;
deque <pair<int,int>> coada;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main ()
{
int n, k, p=1;
long long s=0;
fin >> n >> k;
for(int i=1; i <= k; i++){
int x;
fin >> x;
while(coada.front().first >= x && !coada.empty())
coada.pop_front();
coada.push_front({x,p});
p++;
}
s=coada.back().first;
for(int i=k+1; i<=n; i++){
int x;
fin >> x;
while(coada.front().first >= x && coada.size())
coada.pop_front();
while(i-coada.back().second >= k && coada.size())
coada.pop_back();
coada.push_front({x,p});
p++;
s+=coada.back().first;
}
fout << s;
return 0;
}