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

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

티셔츠

면접 대비

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

요약
N명의 참가자가 각각 [L[i], H[i]] 범위의 티셔츠 크기를 입을 수 있고 N개의 티셔츠 크기가 주어질 때, 최대한 많은 참가자에게 맞는 티셔츠를 배정한다.
난이도

보통10점 중 6점

유형
그리디, 정렬, 구간, 투 포인터
정답자
아직 제출이 없습니다

문제

프로그래밍 올림피아드 본선에서는 관례대로 참가자 NN명 모두에게 티셔츠를 준다. 하지만 심사위원들은 대회 직전에 문제 세트를 수정하느라 정신이 없는 경우가 있다. (수정만 한다는 점에 주의하자. 심사위원들이 대회 하루 전까지 문제를 만들지 않고 기다리는 일은 없다.)

그래서 심사위원들이 티셔츠를 주문할 때는 참가자들이 어떤 사이즈를 입는지 그렇게 꼼꼼히 확인하지 않을 수 있다. 어차피 XS 티셔츠와 XL 티셔츠를 누가 구별할 수 있겠는가? 심사위원들은 확실히 구별하지 못했지만, 참가자들은 새 티셔츠를 입어 보면서 구별할 수 있는 것 같다. 심사위원들은 제대로 계획하는 법을 배우지 않으니 내년에도 분명히 같은 문제가 생길 것이다. 하지만 지금은 당신의 문제다.

참가자마다 선호하는 사이즈가 있지만, 입을 수 있는 사이즈는 어떤 구간에 속한다. 구체적으로 ii번째 참가자(0부터 시작)는 L[i]L[i] 이상 H[i]H[i] 이하(양 끝 포함)의 모든 사이즈 티셔츠를 입을 수 있다. 여기서 각 사이즈에는 정수가 부여되어 있고, 정수가 클수록 큰 사이즈이다. 당신의 임무는 참가자들에게 티셔츠를 배정해서 최대한 많은 참가자가 자신이 입을 수 있는 티셔츠를 받도록 하는 것이다. 심사위원들은 정확히 NN장의 티셔츠를 주문했고, ii번째 티셔츠의 사이즈는 T[i]T[i]이다.

입력

채점기는 다음 형식으로 입력을 읽는다.

  • 11번째 줄: N
  • 22번째 줄: L[0] L[1] .. L[N - 1]
  • 33번째 줄: H[0] H[1] .. H[N - 1]
  • 44번째 줄: T[0] T[1] .. T[N - 1]

출력

채점기는 tshirt(N, L, H, T)의 반환값을 한 줄에 출력한다.

제한

  • 1≤N≤100 0001 \le N \le 100\,000
  • 0≤T[i]≤1090 \le T[i] \le 10^9

예제1

  1. 예제 1

    입력
    3
    3 3 6
    7 5 6
    4 6 8
    
    예상 출력
    2