캠프에 가는 영식

면접 대비

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

요약
첫 출발 시각, 간격, 횟수로 주어진 N개의 버스 일정 중에서 도착 시각 T 이후 탈 수 있는 가장 빠른 버스까지의 최소 대기 시간을 구하고, 없으면 -1을 출력합니다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

영식이는 민식이와 함께 고속버스를 타고 캠프에 가야 했지만, 민식이는 영식이를 깨우지 않고 혼자 버스를 타고 떠났다.

영식이는 혼자 버스터미널에 가서 캠프 장소로 향하려고 한다. 터미널에는 캠프 장소까지 운행하는 버스가 N종류 있다. 각 버스는 시작 시각, 운행 간격, 운행 대수 정보를 가진다. 예를 들어 어떤 버스의 시작 시각이 기준 시점으로부터 10분 후이고, 간격이 10분이며, 대수가 5대라면 그 버스는 10분, 20분, 30분, 40분, 50분에 출발한다.

영식이는 버스터미널에 T분에 도착했다. 영식이가 버스를 타기 위해 최소 몇 분을 더 기다려야 하는지 구하라.

입력

첫째 줄에 버스의 개수 N과 영식이가 버스터미널에 도착하는 시간 T가 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 버스의 시작 시각 Si, 간격 Ii, 대수 Ci가 공백으로 구분되어 주어진다.

출력

첫째 줄에 영식이가 기다려야 하는 최소 시간을 출력한다. 영식이가 도착하는 동시에 버스가 출발하면 정답은 0이다. 버스가 없어서 캠프에 갈 수 없으면 -1을 출력한다. 정답은 2312^{31}보다 작다.

제한

  • 1 <= N <= 50
  • 1 <= T <= 1,000,000
  • 1 <= Si <= 1,000,000
  • 1 <= Ii <= 10,000
  • 1 <= Ci <= 100

힌트

첫 번째 공개 테스트에서는 버스가 150분, 200분, 250분, ..., 600분에 출발한다. 따라서 영식이는 300분에 출발하는 버스를 타면 된다.

예제5

  1. 예제 1

    입력
    1 285
    150 50 10
    
    예상 출력
    15
    
  2. 예제 2

    입력
    1 123456
    123456 10000 1
    
    예상 출력
    0
    
  3. 예제 3

    입력
    3 1
    270758 196 67
    904526 8930 66
    121164 3160 56
    
    예상 출력
    121163
    
  4. 예제 4

    입력
    3 1000000
    718571 2557 74
    480573 9706 54
    16511 6660 90
    
    예상 출력
    -1
    
  5. 예제 5

    입력
    5 395439
    407917 8774 24
    331425 4386 58
    502205 9420 32
    591461 1548 79
    504695 8047 53
    
    예상 출력
    1776