train.cpp: In function 'std::vector<int> who_wins(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:98:32: error: no matching function for call to 'std::queue<int>::push(std::pair<std::vector<int>, std::vector<int> >)'
Q.push(make_pair(all, charge));
^
In file included from /usr/include/c++/7/queue:64:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:86,
from train.cpp:2:
/usr/include/c++/7/bits/stl_queue.h:251:7: note: candidate: void std::queue<_Tp, _Sequence>::push(const value_type&) [with _Tp = int; _Sequence = std::deque<int, std::allocator<int> >; std::queue<_Tp, _Sequence>::value_type = int]
push(const value_type& __x)
^~~~
/usr/include/c++/7/bits/stl_queue.h:251:7: note: no known conversion for argument 1 from 'std::pair<std::vector<int>, std::vector<int> >' to 'const value_type& {aka const int&}'
/usr/include/c++/7/bits/stl_queue.h:256:7: note: candidate: void std::queue<_Tp, _Sequence>::push(std::queue<_Tp, _Sequence>::value_type&&) [with _Tp = int; _Sequence = std::deque<int, std::allocator<int> >; std::queue<_Tp, _Sequence>::value_type = int]
push(value_type&& __x)
^~~~
/usr/include/c++/7/bits/stl_queue.h:256:7: note: no known conversion for argument 1 from 'std::pair<std::vector<int>, std::vector<int> >' to 'std::queue<int>::value_type&& {aka int&&}'