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

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

자습

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

요약
N개 과목과 M주 동안 각 수업에서 비타로는 수강해 A_i를 얻거나 한 과목을 자습해 B_i를 얻는다. 시험 시점에서 모든 과목 이해도의 최솟값을 최대로 만드는 값을 구한다.
난이도

어려움10점 중 8점

유형
이분 탐색, 그리디, 수학, 구현
정답자
아직 제출이 없습니다

문제

JOI 고등학교 1학년 3학기에 NN개의 과목이 있고, 학기는 1주차부터 MM주차까지 MM주 동안 진행된다. 과목에는 11부터 NN까지 번호가 붙어 있다. 매주 NN개의 수업이 있으며, 각 주의 ii번째 수업은 과목 ii의 수업이다.

비타로는 1학년 학생이다. N×MN \times M개의 수업 각각에서 그는 다음 두 가지 행동 중 하나를 한다.

  • 행동 1: 수업에 참여한다. 과목 ii(1≤i≤N1 ≤ i ≤ N)의 수업에 참여하면 과목 ii의 이해도가 AiA_i만큼 증가한다.
  • 행동 2: 수업에 참여하지 않는다. 대신 아무 과목 하나를 골라 그 과목을 혼자 공부한다. 수업 시간 동안 과목 ii(1≤i≤N1 ≤ i ≤ N)를 혼자 공부하면 과목 ii의 이해도가 BiB_i만큼 증가한다.

처음에 모든 과목의 이해도는 00이다. 비타로는 방과 후에 경쟁 프로그래밍을 연습하고 싶어 하므로 수업 시간 외에는 공부하지 않는다. 3학기의 모든 수업이 끝나면 기말고사가 열린다.

비타로는 낙제하고 싶지 않다. 따라서 기말고사 시점에 과목별 이해도의 최솟값을 최대화하려고 한다.

학기의 길이, 과목 수, 이해도 증가량이 주어질 때, 기말고사 시점에 가능한 과목별 이해도의 최솟값의 최댓값을 계산하는 프로그램을 작성하라.

입력

표준 입력에서 다음 데이터를 읽는다. 주어지는 값은 모두 정수이다.

\begin{align*} & N\,M \\ & A_1 \, A_2 \, \cdots \, A_N \\ & B_1 \, B_2 \, \cdots \, B_N \end{align*}

출력

표준 출력에 한 줄을 출력한다. 기말고사 시점에 가능한 과목별 이해도의 최솟값의 최댓값을 출력해야 한다.

제한

  • 1≤N≤300 0001 ≤ N ≤ 300\,000.
  • 1≤M≤1 000 000 0001 ≤ M ≤ 1\,000\,000\,000.
  • 1≤Ai≤1 000 000 0001 ≤ A_i ≤ 1\,000\,000\,000 (1≤i≤N1 ≤ i ≤ N).
  • 1≤Bi≤1 000 000 0001 ≤ B_i ≤ 1\,000\,000\,000 (1≤i≤N1 ≤ i ≤ N).

예제4

  1. 예제 1

    입력
    3 3
    19 4 5
    2 6 2
    
    예상 출력
    18
    
  2. 예제 2

    입력
    2 1
    9 7
    2 6
    
    예상 출력
    7
    
  3. 예제 3

    입력
    5 60000
    630510219 369411957 874325200 990002527 567203997
    438920902 634940661 593780254 315929832 420627496
    
    예상 출력
    41397427274960
    
  4. 예제 4

    입력
    4 25
    1 2 3 4
    1 2 3 4
    
    예상 출력
    48