#W1022. 货舱排序

货舱排序

题目背景

码头工人小王正在负责一艘货轮的装货工作。这艘货船的货舱分为左舱区右舱区。为了保持船体平衡,不同类型的货物必须严格放入对应的舱区。同时,为了方便卸货,左舱区的货物需要按重量从小到大排列,而右舱区的货物需要按重量从大到小排列。小王需要你写一个程序,帮他规划出最终货物的完整排列顺序。

题目描述

给定 nn 件货物,每件货物包含两个属性:类型 TT00 表示左舱,11 表示右舱)和重量 WW。 请按照以下规则输出货物的重量序列:

  1. 首先输出所有左舱货物,且按重量升序排列;
  2. 随后输出所有右舱货物,且按重量降序排列。

输入格式

第一行一个整数 nn1n1051 \leq n \leq 10^5),表示货物总数。

接下来 nn 行,每行两个整数 TiT_iWiW_i。其中 Ti{0,1},1Wi109T_i \in \{0, 1\}, 1 \leq W_i \leq 10^9WiW_i 为该件货物的重量。

输出格式

一行若干个整数,表示排序后的货物重量序列,整数之间用空格分隔。

样例

5
0 10
1 50
0 5
1 80
0 20
5 10 20 80 50

样例解释

  • 左舱货物(类型0)重量有:10, 5, 20。升序排列为:5, 10, 20。
  • 右舱货物(类型1)重量有:50, 80。降序排列为:80, 50。
  • 拼接后的总序列为:5 10 20 80 50。