이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |