結果
問題 | No.467 隠されていたゲーム |
ユーザー |
![]() |
提出日時 | 2023-04-23 15:06:01 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 149 ms / 2,000 ms |
コード長 | 2,786 bytes |
コンパイル時間 | 308 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 85,376 KB |
最終ジャッジ日時 | 2024-11-07 22:32:28 |
合計ジャッジ時間 | 5,633 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
from math import sqrt,sin,cos,tan,ceil,radians,floor,gcd,exp,log,log10,log2,factorial,fsumfrom heapq import heapify, heappop, heappushfrom bisect import bisect_left, bisect_rightfrom copy import deepcopyimport copyimport randomfrom collections import deque,Counter,defaultdictfrom itertools import permutations,combinationsfrom decimal import Decimal,ROUND_HALF_UP#tmp = Decimal(mid).quantize(Decimal('0'), rounding=ROUND_HALF_UP)from functools import lru_cache, reduce#@lru_cache(maxsize=None)from operator import add,sub,mul,xor,and_,or_,itemgetterimport sysinput = sys.stdin.readline# .rstrip()INF = 10**18mod1 = 10**9+7mod2 = 998244353#DecimalならPython#再帰ならPython!!!!!!!!!!!!!!!!!!!!!!!!!!'''辺を張るのは無理だな約数とかが関係あったりするのかなNが小さいんだなどれを使うかさえ決めれば貪欲で行けるってわけでもなさそうなんだろう、何かの倍数を作れればいいんだよなこれは遷移が存在するdpだったりするのかなこれ仮に1次元だったらどうするそれでも難しい気がするんだが部分和問題になるかなdpか個数制限なし3次元dpで累積和使ったらうまくできたりとかまず圧縮しないといけないしきついなー半分全列挙とかはこれ、x,yのでかいほうに対してだけ考えればいいのでは小さいほうに関しては、うまくやれば絶対できるそしたらdpか移動不可能な場合ってのはどういうとき部分和が作れないときそもそも、大きいほうだけ考えれば良いというのは誤りかもしれない0-dで融通を聞かせられるというのは強すぎるので、大きいほうを作るのにも使いたいxとyを融合した量を考えられないかダメっぽいななんか貪欲とかじゃなくて、もっと大胆な探索をしたいな二分探索みたいな、画期的な方法順番は大事だから、bit全探索じゃ厳しいと思う順列全探索するにはオーダーが厳しいなるほど、1手で移動できる範囲は正方形で、まあ、2d以下なら全部移動できるのさえ押さえられれば、解けたな逆にそこに気づける、または知っているかが重要だった実験は少し足りなかったかもなマンハッタン距離やちぇびシェフ距離の性質に対する理解を深めることが必要'''N = int(input())D = list(map(int, input().split()))X,Y = map(int, input().split())D.sort()x = max(abs(X),abs(Y))ans = 0if x >= 2*D[-1]:ans += (x-D[-1])//D[-1]x = x-((x-D[-1])//D[-1])*D[-1]if x == 0:passelif x in D:ans += 1else:ans += 2print(ans)