제출 #651849

#제출 시각아이디문제언어결과실행 시간메모리
651849beaconmcSelf Study (JOI22_ho_t2)Cpython 3
0 / 100
1053 ms54576 KiB
from math import *
import sys
input = lambda: sys.stdin.readline().strip()
n,m = map(int, input().split())

lis = list(map(int, input().split()))
lis2 = list(map(int, input().split()))

def check(a):
    cnt = 0
    for i in range(n):
        if lis[i]>lis2[i]:
            if a > lis[i]*m:
                cnt += ceil((a-(lis[i]*m))/lis2[i]) + m
            else:
                cnt += ceil(a/lis[i])
        else:
            cnt += ceil(a/lis2[i])
    if cnt <= n*m:
        return True
    return False
lo = 0
hi = 100000000000000000
while lo<hi:
    mid = (lo+hi+1)//2
    if check(mid):
        lo = mid
    else:
        hi = mid-1
print(lo)
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...