T. 房间分配

    传统题 1000ms 256MiB

房间分配

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

翻译自 CSES-1164 题。

题目描述

有一家大酒店,即将迎来 nn 位顾客。每个顾客都希望拥有一个单独的房间。

已知每个顾客的到达和离开日期。如果第一个顾客的离开日期早于第二个顾客的到达日期,那么这两个顾客可以住在同一个房间。

请问,为了容纳所有顾客,最少需要多少个房间?并且如何为这些顾客分配房间?

输入格式

第一行输入一个整数 nn,代表顾客的数量。

接下来的 nn 行,每行描述一个顾客,包含两个整数 aabb,分别代表顾客的到达日期和离开日期。

输出格式

首先输出一个整数 kk,表示所需的最少房间数。

然后输出一行,其中包含每位客户的房间号,顺序与输入相同。房间编号为 1,2,,k1,2,\dots,k 。你可以输出任何有效的解决方案。

样例

3
1 2
2 4
4 4
2
1 2 1

说明/提示

1n21051 \le n \le 2\cdot 10^5

1ab1091 \leq a \leq b \leq 10^9

CSES练习二 排序贪心STL

未认领
状态
已结束
题目
35
开始时间
2025-5-1 0:00
截止时间
2025-5-31 23:59
可延期
24 小时