結果
問題 | No.281 門松と魔法(1) |
ユーザー | vwxyz |
提出日時 | 2022-10-03 02:29:24 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 46 ms / 1,000 ms |
コード長 | 1,228 bytes |
コンパイル時間 | 148 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 12,672 KB |
最終ジャッジ日時 | 2024-06-07 19:09:19 |
合計ジャッジ時間 | 3,788 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 46 ms
12,416 KB |
testcase_01 | AC | 42 ms
12,416 KB |
testcase_02 | AC | 42 ms
12,544 KB |
testcase_03 | AC | 41 ms
12,416 KB |
testcase_04 | AC | 43 ms
12,416 KB |
testcase_05 | AC | 44 ms
12,544 KB |
testcase_06 | AC | 43 ms
12,672 KB |
testcase_07 | AC | 44 ms
12,544 KB |
testcase_08 | AC | 44 ms
12,416 KB |
testcase_09 | AC | 43 ms
12,416 KB |
testcase_10 | AC | 42 ms
12,544 KB |
testcase_11 | AC | 41 ms
12,544 KB |
testcase_12 | AC | 41 ms
12,416 KB |
testcase_13 | AC | 41 ms
12,416 KB |
testcase_14 | AC | 43 ms
12,416 KB |
testcase_15 | AC | 42 ms
12,416 KB |
testcase_16 | AC | 42 ms
12,544 KB |
testcase_17 | AC | 42 ms
12,416 KB |
testcase_18 | AC | 42 ms
12,416 KB |
testcase_19 | AC | 42 ms
12,416 KB |
testcase_20 | AC | 42 ms
12,544 KB |
testcase_21 | AC | 42 ms
12,416 KB |
testcase_22 | AC | 42 ms
12,544 KB |
testcase_23 | AC | 42 ms
12,416 KB |
testcase_24 | AC | 42 ms
12,544 KB |
testcase_25 | AC | 42 ms
12,544 KB |
testcase_26 | AC | 43 ms
12,544 KB |
testcase_27 | AC | 41 ms
12,416 KB |
testcase_28 | AC | 42 ms
12,416 KB |
testcase_29 | AC | 42 ms
12,416 KB |
testcase_30 | AC | 40 ms
12,544 KB |
testcase_31 | AC | 41 ms
12,416 KB |
testcase_32 | AC | 44 ms
12,544 KB |
testcase_33 | AC | 44 ms
12,416 KB |
testcase_34 | AC | 43 ms
12,416 KB |
testcase_35 | AC | 44 ms
12,416 KB |
testcase_36 | AC | 42 ms
12,416 KB |
testcase_37 | AC | 42 ms
12,544 KB |
testcase_38 | AC | 41 ms
12,672 KB |
testcase_39 | AC | 42 ms
12,544 KB |
testcase_40 | AC | 45 ms
12,416 KB |
testcase_41 | AC | 42 ms
12,416 KB |
testcase_42 | AC | 42 ms
12,544 KB |
testcase_43 | AC | 43 ms
12,416 KB |
testcase_44 | AC | 45 ms
12,416 KB |
testcase_45 | AC | 42 ms
12,544 KB |
testcase_46 | AC | 42 ms
12,416 KB |
testcase_47 | AC | 41 ms
12,544 KB |
testcase_48 | AC | 40 ms
12,416 KB |
testcase_49 | AC | 40 ms
12,416 KB |
testcase_50 | AC | 41 ms
12,416 KB |
testcase_51 | AC | 42 ms
12,416 KB |
testcase_52 | AC | 41 ms
12,544 KB |
testcase_53 | AC | 41 ms
12,416 KB |
testcase_54 | AC | 43 ms
12,544 KB |
testcase_55 | AC | 41 ms
12,544 KB |
testcase_56 | AC | 42 ms
12,544 KB |
ソースコード
from ast import Mod import bisect import copy import decimal import fractions import heapq import itertools import math import random import sys import time 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 write=sys.stdout.write D=int(readline()) H=[int(readline()) for _ in range(3)] inf=1<<60 ans=inf for tpl in itertools.permutations([0,1,2]): if tpl[1]==1: continue HH=H[:] cnt=0 if D: for a,b in zip(tpl[:-1],tpl[1:]): if HH[a]<=HH[b]: c=(HH[b]-HH[a])//D+1 HH[b]-=c*D cnt+=c HH[b]=max(HH[b],0) if len(set(HH))==3 and HH[1] in (min(HH),max(HH)) and all(h>=0 for h in HH): ans=min(ans,cnt) if ans==inf: ans=-1 print(ans)