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

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

알고리즘 과외

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

요약
학생 i는 |i-j|가 l_i 이상 r_i 이하인 학생과만 함께하고 싶어 한다. 이 조건을 만족하는 두 학생의 평가 차이 최댓값을 구하고, 그런 쌍이 없으면 -1을 출력한다.
난이도

보통10점 중 7점

유형
세그먼트 트리, 정렬, 배열, 이분 탐색
정답자
아직 제출이 없습니다

문제

지환이가 운영하는 알고리즘 학원에는 NN명의 학생이 있고, 각 학생은 11부터 NN까지의 번호를 가진다.

학원에서는 학생의 수준을 나타내기 위해 레이팅 시스템을 사용한다. 모든 학생은 자신만의 레이팅을 갖고 있고, ii번 학생의 레이팅은 aia_i로 나타낼 수 있다.

지환이는 학원 수강생의 레이팅 상승을 위해 22명의 학생을 골라 몰래 과외를 해주려고 한다. 그런데 수강생은 자기와 번호가 너무 많이 차이 나거나 너무 적게 차이 나는 학생을 싫어한다. 따라서 ii번 학생은 자기와의 번호 차이가 lil_i 이상 rir_i 이하인 학생들과만 과외를 하려고 할 것이다.

위의 조건을 만족하면서 레이팅의 차이가 최대가 되도록 22명의 학생을 고를 때, 그때의 레이팅의 차를 구하여라.

입력

첫 번째 줄에는 알고리즘 학원의 학생 수 NN이 주어진다. (2≤N≤200 0002 \le N \le 200\,000)

두 번째 줄부터 N+1N+1번째 줄까지는 학생의 정보가 주어진다. i+1i+1번째 줄에는 세 정수 aia_i, lil_i, rir_i가 공백으로 구분되어 주어지는데, 이는 ii번 학생의 레이팅이 aia_i이고, 자기와의 번호 차이가 lil_i 이상 rir_i 이하인 학생들과만 과외를 하려고 한다는 의미이다. (1≤ai≤1091 \le a_i \le 10^9, 1≤li≤ri≤N1 \le l_i \le r_i \le N)

출력

문제의 조건을 모두 만족하면서 레이팅의 차이가 최대가 되도록 22명의 학생을 고를 때, 그때의 레이팅의 차를 출력한다.

만약 조건을 만족하도록 22명의 학생을 고를 수 없다면 −1-1을 출력한다.

예제3

  1. 예제 1

    입력
    4
    1 1 4
    2 1 1
    3 1 2
    7 1 2
    
    예상 출력
    4
    
  2. 예제 2

    입력
    5
    10 1 1
    3 1 1
    2 1 3
    3 1 1
    9 2 4
    
    예상 출력
    7
    
  3. 예제 3

    입력
    3
    5 1 1
    2 2 3
    3 1 1
    
    예상 출력
    -1