Pagini recente » Cod sursa (job #2960436) | Cod sursa (job #965115) | Cod sursa (job #1362670) | Cod sursa (job #2152859) | Cod sursa (job #2489846)
#include <deque>
#include <vector>
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
deque < int > q;
long long n, k, ans;
vector < int > v;
int main(){
fin>>n>>k;
for(int i = 1; i <= n; ++i){
int x;
fin>>x;
v.push_back(x);
}
for(int i = 0; i <= k-1; ++i){
while(!q.empty() && v[q.back()] > v[i])
q.pop_back();
q.push_back(i);
}
///indexam de la 0
for(int i = k - 1; i < v.size(); ++i){
if(i - q.front() == k)
q.pop_front();
while(!q.empty() && v[q.back()] > v[i])
q.pop_back();
q.push_back(i);
ans += v[q.front()];
}
fout<<ans;
}