#include <iostream>
using namespace std;
#include <set>
#include <vector>
class mpair {
public:
mpair() {};
mpair(int a, int b) :a(a), b(b) {};
int a;
int b;
friend istream& operator>>(istream& in,mpair& p) {
in >> p.a >> p.b;
return in;
}
};
struct cmp {
bool operator()(const mpair&p1, const mpair&p2) const{
if (p1.a != p2.a) {
if (p1.a < p2.a)
return true;
else
return false;
}
else {
if (p1.b > p2.b)
return true;
else
return false;
}
}
};
void insert_vector(vector<mpair>&v, const mpair&p,int len) {
int n = p.b;
int count = 0;
for (int i = 0; i < len; i++) {
if (v[i].a == -1 && count < n) {
count++;
}
else if (v[i].a == -1 && count == n){
v[i] = p;
break;
}
}
}
int main()
{
int count ;
vector<mpair>v;
set<mpair, cmp>m_set;
cin >> count;
int n = 1;
for (int i = 0; i < count; i++) {
v.push_back(mpair(-1, 1));
}
mpair p;
while (cin >> p) {
m_set.insert(p);
}
for (auto it = m_set.begin(); it != m_set.end(); it++) {
int a = it->b;
insert_vector(v, *it, count);
}
cout << v[0].a << " " << v[0].b ;
if (count > 1) {
for (int i = 1; i < count; i++) {
cout<<" "<< v[i].a << " " << v[i].b ;
}
}
return 0;
}
小米oj 帮小学生排队
猜你喜欢
转载自blog.csdn.net/qq_42673507/article/details/85267185
今日推荐
周排行