题目名称 3482. [POJ 2828]排队买票
输入输出 buytickets.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2020-10-07加入
开放分组 全部用户
提交状态
分类标签
线段树 二分法 树状数组
分享题解
通过:10, 提交:18, 通过率:55.56%
Gravatarcb 100 0.101 s 0.63 MiB C++
Gravataryrtiop 100 0.125 s 1.00 MiB C++
Gravatar┭┮﹏┭┮ 100 0.127 s 1.76 MiB C++
Gravatarsyzhaoss 100 0.128 s 0.74 MiB C++
Gravatarcb 100 0.134 s 0.63 MiB C++
Gravatarfsdh 100 0.177 s 6.14 MiB C++
Gravatar锝镆氪锂铽 100 0.255 s 3.34 MiB C++
Gravatarcb 100 0.286 s 1.90 MiB C++
Gravatar郑霁桓 100 0.364 s 2.37 MiB C++
Gravatar波风水门 100 0.405 s 4.20 MiB C++
关于 排队买票 的近10条评论(全部评论)
Gravataryrtiop
2021-07-09 09:40 2楼
Gravatarfsdh
2020-10-12 19:35 1楼

3482. [POJ 2828]排队买票

★★☆   输入文件:buytickets.in   输出文件:buytickets.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

在铁路实行互联网购票之前,每年春运时,火车站里人们总是排着长队购买回家的车票。

又到了一年一度的春运,ACM大牛因为在学校集训回家很晚,虽然很不情愿,大牛还是在半夜(为了不影响自己白天集训)冒着寒风到火车站购票。

来到火车站后,大牛发现人很多而且很乱,具体表现为很多人插队(强烈谴责)。那么,如果为队列中的每个人分配一个整数值作为他的编号并且告诉你他插队的位置,你能确定每个人最终的顺序吗?

【输入格式】

输入数据可能存在多组。

对于每组输入数据,第一行包含一个整数$n$,表示排队的总人数。

接下来$n$行,每行两个整数$p_i$,$v_i$,分别表示第$i$个人插队时前面人的个数以及他的个人编号。

例如,$p_i=0$,表示这个人插到了队首,$p_i=2$表示插队插到了第$3$个位置(前面有$2$个人)。

【输出格式】

每组输入数据,输出一行包含$n$个整数(表示每个人的编号)的结果,表示最终的人员队列顺序。

每组结果占一行,同行数据之间空格隔开。

【样例输入】

4
0 77
1 51
1 33
2 69
4
0 20523
1 19243
1 3890
0 31492

【样例输出】

77 33 69 51
31492 20523 3890 19243

【样例解释】

对于第一组输入数据。

77号入队,插在队首,队列为77;

51号入队,前面有一个人,队列为77 51;

33号入队,前面有一个人,队列为77 33 51;

69号入队,前面有两个人,队列为77 33 69 51。

【数据范围】

$1\leq n\leq 2\times 10^5,0\leq p_i\leq i-1,0\leq v_i\leq 32767$。