Mai intai trebuie sa te autentifici.
Cod sursa(job #2657228)
Utilizator | Data | 10 octombrie 2020 09:58:01 | |
---|---|---|---|
Problema | Deque | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.72 kb |
#include <iostream>
#include <deque>
using namespace std;
deque <pair<long long int, long long int>> dublacoada;
long long int n, k;
int main()
{
long long int suma_minime = 0;
cin >> n >> k;
long long int x;
cin >> x;
dublacoada.push_front(make_pair(x, 0));
n--;
for(int i = 1; i < n; i++) {
cin >> x;
if(dublacoada.front().first < x && dublacoada.back().first > x) {
dublacoada.pop_back();
}
dublacoada.push_back(make_pair(x, i));
if(dublacoada.front().second + k == i) {
suma_minime+=dublacoada.front().first;
dublacoada.pop_front();
}
}
cout << suma_minime;
return 0;
}