結果
問題 | No.281 門松と魔法(1) |
ユーザー | vwxyz |
提出日時 | 2022-10-03 02:28:51 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,232 bytes |
コンパイル時間 | 224 ms |
コンパイル使用メモリ | 11,000 KB |
実行使用メモリ | 11,244 KB |
最終ジャッジ日時 | 2023-08-26 23:45:02 |
合計ジャッジ時間 | 4,387 ms |
ジャッジサーバーID (参考情報) |
judge15 / judge13 |
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 40 ms
11,180 KB |
testcase_01 | AC | 39 ms
11,016 KB |
testcase_02 | AC | 39 ms
11,084 KB |
testcase_03 | AC | 39 ms
10,940 KB |
testcase_04 | AC | 44 ms
11,020 KB |
testcase_05 | AC | 39 ms
11,012 KB |
testcase_06 | AC | 40 ms
11,072 KB |
testcase_07 | AC | 40 ms
11,088 KB |
testcase_08 | AC | 41 ms
11,112 KB |
testcase_09 | AC | 40 ms
11,132 KB |
testcase_10 | AC | 40 ms
11,016 KB |
testcase_11 | AC | 39 ms
11,064 KB |
testcase_12 | AC | 40 ms
11,016 KB |
testcase_13 | AC | 40 ms
11,020 KB |
testcase_14 | AC | 40 ms
11,088 KB |
testcase_15 | AC | 40 ms
11,020 KB |
testcase_16 | AC | 40 ms
11,136 KB |
testcase_17 | AC | 39 ms
10,992 KB |
testcase_18 | AC | 40 ms
10,992 KB |
testcase_19 | AC | 40 ms
11,056 KB |
testcase_20 | AC | 40 ms
11,244 KB |
testcase_21 | AC | 40 ms
10,992 KB |
testcase_22 | AC | 40 ms
10,968 KB |
testcase_23 | AC | 40 ms
10,976 KB |
testcase_24 | AC | 41 ms
11,064 KB |
testcase_25 | AC | 40 ms
11,068 KB |
testcase_26 | AC | 40 ms
11,032 KB |
testcase_27 | AC | 40 ms
11,088 KB |
testcase_28 | AC | 39 ms
11,092 KB |
testcase_29 | AC | 40 ms
11,060 KB |
testcase_30 | AC | 40 ms
11,064 KB |
testcase_31 | AC | 40 ms
11,020 KB |
testcase_32 | RE | - |
testcase_33 | AC | 40 ms
11,108 KB |
testcase_34 | AC | 40 ms
10,996 KB |
testcase_35 | AC | 40 ms
10,972 KB |
testcase_36 | AC | 40 ms
11,152 KB |
testcase_37 | AC | 40 ms
11,064 KB |
testcase_38 | AC | 41 ms
11,156 KB |
testcase_39 | AC | 41 ms
11,016 KB |
testcase_40 | AC | 42 ms
11,084 KB |
testcase_41 | AC | 41 ms
11,064 KB |
testcase_42 | AC | 41 ms
11,152 KB |
testcase_43 | AC | 41 ms
11,056 KB |
testcase_44 | AC | 40 ms
11,044 KB |
testcase_45 | AC | 40 ms
11,000 KB |
testcase_46 | AC | 40 ms
11,092 KB |
testcase_47 | AC | 39 ms
11,080 KB |
testcase_48 | AC | 41 ms
11,100 KB |
testcase_49 | AC | 40 ms
10,980 KB |
testcase_50 | AC | 41 ms
11,084 KB |
testcase_51 | AC | 40 ms
11,060 KB |
testcase_52 | AC | 40 ms
11,056 KB |
testcase_53 | AC | 40 ms
11,088 KB |
testcase_54 | AC | 40 ms
10,996 KB |
testcase_55 | AC | 40 ms
11,052 KB |
testcase_56 | AC | 41 ms
11,152 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[:] if D: cnt=0 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)