문제1302--서버 대여 일정 짜기

1302: 서버 대여 일정 짜기

시간제한 : 1.000 sec  메모리제한 : 128 MB

문제 설명

대학원생인 재우는 졸업하기 위해 E번의 실험을 해야 합니다.
하나의 실험은 한 대 이상의 클라우드 서버의 대여가 필요합니다.
그리고 실험을 수행하는 기간이 각각 다를 수 있기 때문에, 실험 일정에 맞춰서 필요한 최소한의 서버를 대여하려고 합니다.
E번의 실험 일정이 주어졌을 때 필요한 최소한의 서버 대여 일정을 구해 주세요.

예시 1


<그림> 서버 대여 일정

  • 실험 1: 1일 0시부터 5일 0시까지 서버 6대
  • 실험 2: 5일 0시부터 10일 0시까지 서버 8대
  • 실험 3: 1일 0시부터 10일 0시까지 서버 3대
위와 같은 실험 일정에 필요한 최소한의 서버는 다음과 같습니다.
  • 1일 0시부터 5일 0시까지: 서버 9대 
  • 5일 0시부터 10일 0시까지: 서버 11대


예시 2


<그림> 서버 대여 일정

  • 실험 1: 1일 0시부터 5일 0시까지 서버 3대
  • 실험 2: 4일 0시부터 9일 0시까지 서버 8대
  • 실험 3: 9일 0시부터 12일 0시까지 서버 5대
위와 같은 실험 일정에 필요한 최소한의 서버는 다음과 같습니다.
  • 1일 0시부터 4일 0시까지: 서버 3대
  • 4일 0시부터 5일 0시까지: 서버 11대
  • 5일 0시부터 9일 0시까지: 서버 8대
  • 9일 0시부터 12일 0시까지: 서버 5대

예시 3


<그림> 서버 대여 일정
  • 실험 1: 3일 0시부터 7일 0시까지 서버 3대
  • 실험 2: 7일 0시부터 10일 0시까지 서버 5대
  • 실험 3: 3일 0시부터 7일 0시까지 서버 5대
  • 실험 4: 7일 0시부터 10일 0시까지 서버 3대
위와 같은 실험 일정에 필요한 최소한의 서버는 다음과 같습니다.
  • 3일 0시부터 7일 0시까지: 서버 8대
  • 7일 0시부터 10일 0시까지: 서버 8대
3일부터 10일까지 서버 대여 수는 동일하지만, 서버 용도가 다르므로 두 대여 일정에서 구분합니다.

입력 설명

첫 줄에는 테스트 케이스 T(1  T  10)가 주어집니다.
그다음 줄부터 아래의 입력 정보들이 반복하여 주어집니다.
첫 번째 줄에는 실험의 횟수 E(1 ≤ E 3 × 104)가 주어집니다.
그리고 그다음 줄부터 각 실험의 시작일 F와 종료일 L, 그리고 서버 대여 수 S가 정수로 주어집니다. (1 F < L 105, 1 S 109)

출력 설명

시작일, 종료일, 서버 대여 개수를 대여 시간 순으로 출력합니다. 단, 서버를 대여하지 않는 일정의 경우 출력을 하지 않습니다.

입력 예시 Copy

3
3
1 5 6
5 10 8
1 10 3
3
1 5 3
4 9 8
9 12 5
4
3 7 3
7 10 5
3 7 5
7 10 3

출력 예시 Copy

1 5 9
5 10 11
1 4 3
4 5 11
5 9 8
9 12 5
3 7 8
7 10 8

도움

입력
본문의 예시 1을 입력으로 주어지는 예는 다음과 같습니다.
1
3
1 5 6 (1일 0시부터 5일 0시까지 서버 6대)
5 10 8 (5일 0시부터 10일 0시까지 서버 8대)
1 5 3 (1일 0시부터 10일 0시까지 서버 3대)

출력
본문의 예시 1의 정답을 출력하는 예는 다음과 같습니다.
  • 1일 0시부터 5일 0시까지: 서버 9대 -> 1 5 9
  • 5일 0시부터 10일 0시까지: 서버 11대 -> 5 10 11
따라서 출력은
1 5 9
5 10 11
입니다.


Java에서 System.out.printf를 사용하여 출력하면 시간 초과로 통과되지 않습니다. 다른 출력 함수를 사용해주세요.

출처/분류