QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 1024 MB Total points: 100

#1173. 지식은...

Statistics

오늘, $N$개의 프로젝트가 송죽학사에 게시될 예정이다. 종영이와 친구들은 일을 많이 하고 싶지 않아서, 프로젝트를 나누어 수행하기로 결정했다.

프로젝트 $i$는 시간 $L_i$에 접근할 수 있으며 시간 $R_i$ 또는 그 이전에 수행되어야 한다. 하지만 학생들의 학습 능력이 그리 좋지 않아, 프로젝트 하나를 수행하는 데 가용한 모든 시간을 소비한다.

또한, 한 학생은 동시에 여러 프로젝트를 해결할 수 없으므로, 학생이 두 프로젝트 $i$와 $j$를 선택했다면 $R_i < L_j$ 또는 $R_j < L_i$가 만족되어야 한다. 또한, 학생들은 힘든 일을 별로 좋아하지 않으므로, 각 학생은 최대 두 개의 프로젝트만 수행할 것이다.

$M$명의 우수한 학생들로 구성된 그룹이 가능한 한 많은 프로젝트를 공동으로 수행하고자 한다. 각 학생이 어떤 프로젝트를 해결해야 할지 결정하도록 도와주자. 가능한 방법이 여러 가지라면, 그중 아무거나 선택해도 좋다.

입력

첫 번째 줄에는 프로젝트의 수 $N$과 학생의 수 $M$이 주어진다 ($1 \le M \le N \le 3 \cdot 10^5$).

이어지는 $N$개의 줄에는 각 프로젝트의 시작 시간 $L_i$와 종료 시간 $R_i$가 주어진다 ($1 \le L_i < R_i \le 10^9$).

출력

$N$개의 정수를 출력한다. $i$번째 정수는 프로젝트 $i$를 담당할 학생의 번호($1$부터 $M$까지)여야 한다. 만약 프로젝트 $i$를 수행하는 학생이 없다면 $0$을 출력한다.

수행된 프로젝트의 수는 최대여야 한다. 가능한 해결책이 여러 가지라면, 그중 하나를 출력한다.

예제

예제 입력 1

7 5
9 10
7 9
3 4
9 10
2 6
8 9
5 8

예제 출력 1

3 2 2 5 5 4 1

예제 입력 2

2 2
1 2
3 4

예제 출력 2

1 1

예제 입력 3

2 1
1 2
2 3

예제 출력 3

1 0

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.