각 신호등이 처음 초록불이 되는 시각과 초록·빨강 주기를 받아, 시속 1km로 달리는 차가 모든 신호등을 초록불에 통과하는지 판정한다.
쉬움3구현수학시뮬레이션아직 제출이 없습니다시간 제한2초메모리 제한512 MB오늘 아침 늦게 일어나서 출근길이 급하다. 예상하지 못한 신호에 걸려 멈추면 화가 나는 성격이라, 미리 신호를 따져 보기로 했다.
집에서 회사까지 거리는 D킬로미터이고, 그 사이에 신호등이 N개 있다. 각 신호등에는 초록불과 빨간불이 있다. 초록불이면 신호등을 지나갈 수 있고, 빨간불이면 지나갈 수 없다. 집을 나서는 순간에는 모든 신호등이 빨간불이다. 신호등마다 처음으로 초록불이 되는 시각을 알고 있다. 그 시각이 되면 신호등은 g분 동안 초록불이었다가 r분 동안 빨간불이 되고, 다시 g분 동안 초록불, r분 동안 빨간불을 반복한다. g와 r은 신호등마다 다를 수 있다.
신호가 바뀌는 순간(초록불에서 빨간불로, 또는 빨간불에서 초록불로 바뀌는 순간)에 차가 신호등에 도착하면 그대로 통과한다고 하자.
차는 1분에 1킬로미터를 달리므로 전체 이동에 D분이 걸린다. 신호등에서 한 번이라도 멈추게 되는지 판단하라.
첫째 줄에 신호등의 개수 N (1≤N≤1000)과 이동 거리 D (2≤D≤109)가 공백으로 구분되어 주어진다.
다음 N개 줄에 신호등 정보가 한 줄에 하나씩 주어진다. 각 줄에는 정수 네 개 x (1≤x<D), a (1≤a≤109), g (1≤g≤109), r (1≤r≤109)가 주어진다. x는 집에서 신호등까지의 거리(킬로미터), a는 집을 나선 뒤 그 신호등이 처음 초록불이 되기까지 걸리는 시간(분), g는 한 주기에서 초록불이 켜져 있는 시간(분), r은 한 주기에서 빨간불이 켜져 있는 시간(분)이다. 신호등의 위치는 모두 다르다.
신호등에서 한 번도 멈추지 않고 모두 지나가면 YES를, 그렇지 않으면 NO를 출력한다.