結果

問題 No.9 モンスターのレベル上げ
ユーザー vwxyz
提出日時 2021-06-27 18:00:22
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,441 ms / 5,000 ms
コード長 1,006 bytes
コンパイル時間 369 ms
コンパイル使用メモリ 82,556 KB
実行使用メモリ 111,992 KB
最終ジャッジ日時 2024-06-25 11:54:13
合計ジャッジ時間 16,236 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #

import bisect
import copy
import decimal
import fractions
import heapq
import itertools
import math
import random
import sys
from collections import Counter, deque,defaultdict
from functools import lru_cache,reduce
from heapq import heappush,heappop,heapify,heappushpop,_heappop_max,_heapify_max
def _heappush_max(heap,item):
    heap.append(item)
    heapq._siftdown_max(heap, 0, len(heap)-1)
def _heappushpop_max(heap, item):
    if heap and item < heap[0]:
        item, heap[0] = heap[0], item
        heapq._siftup_max(heap, 0)
    return item
from math import gcd as GCD
read=sys.stdin.read
readline=sys.stdin.readline
readlines=sys.stdin.readlines

N=int(readline())
B=list(map(int,readline().split()))
A=list(map(int,readline().split()))
ans=float('inf')
for d in range(N):
    AA=[A[(i+d)%N] for i in range(N)]
    BB=[(B[i],0) for i in range(N)]
    heapify(BB)
    for a in AA:
        b,c=heappop(BB)
        heappush(BB,(b+a//2,c+1))
    ans=min(ans,max(BB[i][1] for i in range(N)))
print(ans)
0