만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

가구 공장

시간 제한2초메모리 제한128 MB

요약
작업마다 시작 시각과 마감 시각이 주어질 때 m명 작업자가 중단과 재개를 허용해 모두 마감 안에 끝낼 수 있는지 판정합니다.
난이도

보통10점 중 7점

유형
그래프, 구간
정답자
아직 제출이 없습니다

문제

어느 가구 공장에는 직원이 모두 mm명 있다. 모든 직원의 기술과 생산성은 완전히 같다. 다음 달에 만들어야 하는 가구는 모두 nn개이며, 각 가구 ii에는 세 값이 주어진다.

  • sis_i: 작업을 시작할 수 있는 가장 이른 시각
  • wiw_i: 가구를 완성하는 데 필요한 총 작업 시간
  • did_i: 가구를 완성해야 하는 마감 시각 (di≥si+wid_i \ge s_i + w_i)

즉 가구 ii는 시각 sis_i 이후에만 작업할 수 있고, 작업량이 모두 wiw_i가 되면 완성되며, 늦어도 시각 did_i까지는 완성되어야 한다.

한 시각에 하나의 가구를 작업할 수 있는 직원은 최대 한 명이다. 작업은 도중에 멈췄다가 다시 이어서 할 수 있고, 멈춘 작업을 다른 직원이 이어받아도 된다. 모든 작업은 정수 시각에 시작하고 끝나며, 시간은 편의상 1,2,3,…,max⁡{di}1, 2, 3, \dots, \max\{d_i\}로 나타낸다.

모든 가구를 각자의 마감 시각까지 완성하는 생산 계획이 존재하는지 판정하여라.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다. 각 테스트 케이스의 첫째 줄에는 직원 수 mm과 가구 수 nn이 주어진다 (1≤m≤101 \le m \le 10, 1≤n≤1001 \le n \le 100). 이어지는 nn개의 줄에는 가구마다 sis_i, wiw_i, did_i가 주어진다 (1≤si<di≤5001 \le s_i < d_i \le 500, 1≤wi≤di−si1 \le w_i \le d_i - s_i).

출력

각 테스트 케이스마다 한 줄을 출력한다. 모든 가구를 각자의 마감 시각까지 완성하는 생산 계획이 존재하면 Yes를, 존재하지 않으면 No를 출력한다.

예제3

  1. 예제 1

    입력
    2
    2 4
    2 2 5
    1 5 8
    4 2 6
    3 3 7
    1 3
    2 4 7
    3 1 5
    4 2 6
    
    예상 출력
    Yes
    No
    
  2. 예제 2

    입력
    1
    1 1
    1 3 5
    
    예상 출력
    Yes
    
  3. 예제 3

    입력
    1
    1 2
    1 1 2
    1 1 2
    
    예상 출력
    No