만드는 중입니다

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

참살이길

면접 대비

시간 제한1초메모리 제한512 MB

요약
길이가 n미터인 도로에 신호등 k개가 정수 좌표마다 있고, 각 신호등의 빨간불과 초록불 주기가 주어집니다. 1m/s로 달리는 차가 끝까지 가는 데 걸리는 시간을 구합니다.
난이도

보통10점 중 4점

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

문제

윤헌이는 현대모비스의 협찬을 받아 MOBIS X라는 자율주행차를 갖게 되었다. 사고율 0%를 자랑한다는 이 자율주행차의 성능이 궁금했던 윤헌이는 당장 참살이길로 나가 시운전을 해 보기로 했다.

참살이길은 전체 길이가 nn미터이고, 그 위에 kk개의 신호등이 있다. 윤헌이는 참살이길의 시작점에서 끝점까지 도달하는 데 얼마나 걸리는지 알고 싶다.

참살이길은 시작점의 좌표가 0이고 끝점의 좌표가 nn인 수직선으로 볼 수 있다. 신호등은 정수 좌표에만 놓일 수 있다. 각 신호등은 빨간 불과 초록 불이 번갈아 켜진다. ii번째 신호등은 빨간 불이 tit_i초 동안 켜졌다가 초록 불이 tit_i초 동안 켜지고, 이를 반복한다. 이 신호등은 윤헌이가 주행을 시작한 뒤 sis_i초가 지나면 처음으로 빨간 불에서 초록 불로 바뀐다. 차는 빨간 불인 동안 신호등 위치에 반드시 멈춰야 하고, 초록 불인 동안에는 문제없이 지나갈 수 있다.

차는 1 m/s로 움직인다. 가속이나 감속은 없으며, 이 속도로 움직이거나 멈춘다. 시작점과 끝점에는 신호등이 없고, 같은 정수 좌표에 신호등이 두 개 이상 놓이지 않는다. 신호등이 초록 불에서 빨간 불로 바뀌는 순간에 차가 그 위치에 있으면, 차는 출발할 수 없다.

입력

첫째 줄에 참살이길의 길이 nn과 신호등의 개수 kk가 공백으로 구분되어 주어진다.

다음 kk개의 줄 중 ii번째 줄에는 ii번째 신호등의 좌표 xix_i, 주기 tit_i, 그리고 윤헌이가 출발한 뒤 이 신호등이 처음으로 초록 불이 될 때까지 걸린 시간 sis_i가 공백으로 구분되어 주어진다. (1≤i≤k1 \le i \le k)

출력

윤헌이가 참살이길을 완주하는 데 걸린 시간을 초 단위로 출력한다.

제한

  • 1≤n≤1091 \le n \le 10^9
  • 0≤k≤min⁡(105,n−1)0 \le k \le \min(10^5, n-1)
  • 1≤xi≤n−11 \le x_i \le n-1 (1≤i≤k1 \le i \le k)
  • 1≤ti≤1091 \le t_i \le 10^9 (1≤i≤k1 \le i \le k)
  • 0≤si≤ti−10 \le s_i \le t_i -1 (1≤i≤k1 \le i \le k)
  • 한 정수 좌표점에 두 개 이상의 신호등이 존재할 수 없다.

힌트

신호등이 초록 불에서 빨간 불로 바뀌는 시점에 해당 신호등 위치에 있는 차는 출발할 수 없다.

예제1

  1. 예제 1

    입력
    10 2
    3 2 1
    7 5 1
    
    예상 출력
    14