아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

속도 제한

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

요약
고속도로 구간별 속도 제한과 자동차 최고 속도가 주어질 때, 제한 하나를 제거했을 때 만족도(거리 곱하기 속도)의 합이 최대가 되는 제한을 고른다.
난이도

보통10점 중 6점

유형
배열, 누적 합, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

표트르가 프로그래밍 대회 결승전을 향해 자동차로 이동하고 있습니다. 이동 경로의 대부분은 새로 지어진 고속도로를 달리는 구간입니다. 그는 ss 킬로미터 지점에서 고속도로에 진입해 kk 킬로미터 지점에서 빠져나옵니다(s<ks < k). 그의 자동차는 최고 속도가 시속 vmax⁡v_{\max} 킬로미터이며, 속도를 즉시 바꿀 수 있습니다.

표트르는 빠르게 달리는 것을 좋아합니다. 속도 vv로 xx 킬로미터를 달리면 만족도가 x⋅vx \cdot v만큼 늘어납니다. 그는 ss 킬로미터 지점부터 kk 킬로미터 지점까지 달리는 동안 총 만족도가 최대가 되도록 하고 싶습니다.

고속도로에는 속도 제한이 nn개 있습니다. ii번째 속도 제한은 aia_i 킬로미터부터 bib_i 킬로미터까지 적용되며, 이 구간에서는 시속 viv_i 킬로미터보다 빠르게 달릴 수 없습니다. 한 구간에 여러 속도 제한이 겹쳐 적용되면 그 모두를 동시에 지켜야 합니다(즉, 가장 낮은 제한을 따릅니다).

표트르의 친구들이 그가 도착하기 전에 속도 제한 하나를 조용히 없애 주기로 했습니다. 표트르는 자신이 얻을 수 있는 최대 만족도가 가장 커지도록 어떤 속도 제한을 없앨지 고르고 싶습니다. 없애야 할 속도 제한을 구하세요.

입력

첫째 줄에 네 정수 nn, ss, kk, vmax⁡v_{\max}가 공백 하나로 구분되어 주어집니다. 여기서 1≤n≤1000001 \le n \le 100000, 0≤s<k≤10000000 \le s < k \le 1000000, 1≤vmax⁡≤3001 \le v_{\max} \le 300입니다.

다음 nn개의 줄에는 각각 속도 제한 하나가 주어집니다. (i+1)(i+1)번째 줄에는 세 정수 aia_i, bib_i, viv_i가 공백 하나로 구분되어 주어지며, 0≤ai<bi≤10000000 \le a_i < b_i \le 1000000, 1≤vi≤4001 \le v_i \le 400입니다. 이는 aia_i 킬로미터부터 bib_i 킬로미터까지 속도가 시속 viv_i 킬로미터를 넘을 수 없다는 뜻입니다.

출력

표트르의 만족도가 최대가 되도록 없애야 할 속도 제한의 번호를 정수 하나로 출력하세요. 속도 제한은 입력에 나타난 순서대로 11번부터 nn번까지 번호가 매겨집니다. 여러 속도 제한 중 어느 하나를 없애도 만족도의 최댓값이 같다면, 그중 가장 작은 번호를 출력하세요.

예제2

  1. 예제 1

    입력
    2 10 20 200
    10 15 80
    10 13 40
    
    예상 출력
    1
    
  2. 예제 2

    입력
    3 100 200 300
    0 50 10
    100 200 80
    300 400 20
    
    예상 출력
    2