Cześć, program wypisuje 1 zamiast 4. O co może chodzić?
#include <iostream>
#include <deque>
#include <utility>
#include <vector>
using namespace std;
deque<pair<int,int>> kolejka;
void push_(int x,int idx){
while(!kolejka.empty() && kolejka.back().first <= x)
kolejka.pop_back();
kolejka.push_back(make_pair(x,idx));
}
void pop_(int idx){
if(!kolejka.empty() && kolejka.front().second == idx)
kolejka.pop_front();
}
int get_maximum_(){
int x = kolejka.front().first;
return x;
}
int main(){
vector<int> a = {3,2,4,5,6,7};
push_(3,0);
push_(2,1);
push_(4,2);
cout << get_maximum_;
return 0;
}