#T2046. 房间分配(Room Allocation)

房间分配(Room Allocation)

链接: https://cses.fi/problemset/task/1164

板块: Sorting and Searching

时限: 1.00 s | 内存: 512 MB

题目描述

有一家大型酒店,nn 位顾客即将到来。每位顾客都希望拥有一间单人房。

你知道每位顾客的到达和离开日期。若第一位顾客的离开日期早于第二位顾客的到达日期,则两人可住同一间房。

容纳所有顾客最少需要多少间房?房间应如何分配?

输入

第一行包含一个整数 nn:顾客数量。

之后有 nn 行,每行描述一位顾客。每行包含两个整数 aabb:到达和离开日期。

输出

先输出一个整数 kk:所需的最少房间数。

之后输出一行,按输入顺序给出每位顾客的房间号。房间编号为 1,2,,k1,2,\ldots,k。你可以输出任意合法方案。

数据范围

1n21051 \le n \le 2 \cdot 10^5 1ab1091 \le a \le b \le 10^9

样例输入

3
1 2
2 4
4 4

样例输出

2
1 2 1