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

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

나는 기말고사형 인간이야

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

요약
24N시간을 M개 과목에 나누어 배분한다. 과목 i는 a_i에서 시작해 1시간마다 b_i씩 오르고 100점이 상한일 때 총점의 최댓값을 구한다.
난이도

보통10점 중 6점

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

문제

중간고사를 시원하게 망친 찬우는 오늘부터 1분도 쉬지 않고 기말고사 공부에 매진하기로 다짐했다.

기말고사는 정확히 24×N24\times N시간 이후에 시작되며, 쉬는 시간 없이 하루에 모든 과목의 시험을 보기 때문에 찬우는 24×N24\times N시간 동안 공부할 수 있다. 기말고사를 보는 과목은 총 MM개로, 시험 시간이 빠른 과목부터 각각 11부터 MM까지의 번호가 매겨져 있다. 모든 과목의 최저점은 00점, 최고점은 100100점이다.

찬우는 공부를 하나도 하지 않아도 ii번 과목에서 aia_{i}점을 받을 수 있으며, ii번 과목을 정확히 한 시간 공부할 때마다 그 과목의 성적을 bib_{i}점 올릴 수 있다. 하지만 ii번 과목을 30분 공부한다고 bi2\frac{b_{i}}{2}점이 오르지는 않으며, 아무리 공부하더라도 한 과목에서 최고점인 100100점이 넘는 점수를 받을 수는 없다.

모든 과목의 점수의 합이 찬우의 최종 성적이 된다. 높은 성적을 받기 위한 최적의 전략으로 공부할 때, 찬우가 받을 수 있는 최종 성적의 최댓값을 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 정수 NN, MM이 공백으로 구분되어 주어진다.

둘째 줄에는 정수 a1a_{1}, a2a_{2}, ..., aMa_{M}이 공백으로 구분되어 주어진다.

셋째 줄에는 정수 b1b_{1}, b2b_{2}, ..., bMb_{M}이 공백으로 구분되어 주어진다.

출력

첫째 줄에 찬우가 받을 수 있는 최종 성적의 최댓값을 출력한다.

제한

  • 1≤N,M≤200 0001 \leq N, M \leq 200\,000
  • 1≤ai,bi≤1001 \leq a_{i}, b_{i} \leq 100

예제3

  1. 예제 1

    입력
    1 2
    50 60
    4 3
    
    예상 출력
    194
    
  2. 예제 2

    입력
    8 7
    30 15 70 50 40 40 50
    2 2 1 3 1 2 1
    
    예상 출력
    627
    
  3. 예제 3

    입력
    1 1
    100
    1
    
    예상 출력
    100