题意:就是买票插队,后输入的在前,先输入的在后
先把输入的储存起来,从后向前遍历
#include<iostream>
#include<queue>
using namespace std;
struct str
{
long long int num;
long long int ans;
int rat;
} start[10];
struct cmp
{
bool operator()(str start1,str start2)
{
if(start1.ans!=start2.ans)
return start1.ans>start2.ans;
else
return start1.rat<start2.rat;
}
};
int main()
{
string s;
int i,t;
priority_queue<str,vector<str>,cmp>p;
while (!p.empty())
p.pop();
while (cin>>t)
{
for (i=1; i<=t; i++)
{
cin>>start[0].ans>>start[0].num;
start[0].rat=i;
p.push(start[0]);
}
i=0;
while (!p.empty())
{
if (i)
cout<<" ";
cout<<p.top().num;
p.pop();
i++;
}
cout<<endl;
}
return 0;
}