一开始想用优先队列,但维护最大堆最小堆太麻烦,转而想到用一个set来做,该set的begin()就是当前最低的塔该set的rbegin()就是当前最高的塔用erase对选中的元素出队,ran'd #include<iostream> #include<vector> #include<algorithm> #include<queue> #include<set> using namespace std; struct node{ int pos,val; node(int pos,int val):pos(pos),...