양과 늑대

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

요약
양 N마리와 늑대 M마리를 크기 합이 K 이하인 최대 2마리 우리에 넣되 한 우리만 양과 늑대를 섞을 수 있을 때 필요한 우리의 최소 개수를 구한다.
난이도

보통10점 중 7점

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

문제

양치기 소년은 외딴 목장에서 NN마리의 양과 MM마리의 늑대를 기르고 있다.

각 양은 11번부터 NN번까지 번호가 붙어 있으며 ii번 양의 크기는 A_iA\_i이다. 각 늑대 또한 11번부터 MM번까지 번호가 붙어 있으며 jj번 늑대의 크기는 B_jB\_j이다.

양치기 소년은 자신이 기르고 있는 동물들을 관리하기 위해 우리를 만들고자 한다. 양치기 소년이 만든 우리는 최대 22마리의 동물이 들어갈 수 있으며, 우리에 들어간 동물의 크기의 합은 KK를 초과할 수 없다. 각 우리에는 같은 종류의 동물만 들어갈 수 있지만, 예외적으로 양치기 소년이 감시할 수 있는 우리 하나에는 양과 늑대가 같이 들어갈 수 있다. 또한 모든 동물의 크기는 KK를 넘지 않는다.

모든 동물을 우리에 넣어야 할 때, 양치기 소년이 만들어야 하는 우리는 최소 몇 개인지 구해보자.

입력

첫 번째 줄에 NN, MM, KK가 공백으로 구분되어 주어진다. (1≤N,M≤500,000;(1 \leq N, M \leq 500\\,000; 1≤K≤109)1 \leq K \leq 10^9)

두 번째 줄에 양의 크기를 의미하는 A_1,A_2,⋯ ,A_NA\_1, A\_2, \cdots, A\_N가 공백으로 구분되어 주어진다. (1≤A_i≤K)(1 \leq A\_i \leq K)

세 번째 줄에 늑대의 크기를 의미하는 B_1,B_2,⋯ ,B_MB\_1, B\_2, \cdots, B\_M가 공백으로 구분되어 주어진다. (1≤B_j≤K)(1 \leq B\_j \leq K)

입력으로 주어지는 모든 값은 정수이다.

출력

첫 번째 줄에 양치기 소년이 만들어야 하는 우리의 최소 개수를 출력한다.

예제3

  1. 예제 1

    입력
    4 4 8
    3 7 4 2
    7 4 7 8
    
    예상 출력
    6
    
  2. 예제 2

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

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