結果

問題 No.3068 Speedrun (Hard)
ユーザー 👑 SPD_9X2
提出日時 2025-03-24 19:29:36
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,969 bytes
コンパイル時間 325 ms
コンパイル使用メモリ 82,192 KB
実行使用メモリ 67,984 KB
最終ジャッジ日時 2025-03-24 19:29:55
合計ジャッジ時間 16,893 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 6 WA * 7 TLE * 1 -- * 18
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

"""
cR + dS = trem
c+d = nrem
cR + (nrem-c)S = trem
(R-S)c = trem-nremS
"""
import sys
import math
def extGCD(a,b):
g = math.gcd(a,b)
x, y, u, v = 1, 0, 0, 1
while b:
k = a // b
x -= k * u
y -= k * v
x, u = u, x
y, v = v, y
a, b = b, a % b
return g ,x, y
def extinv(a,mod):
g,x,y = extGCD(a,mod)
if g != 1:
return -1
if x > 0:
return x
else:
return x + mod
# X^K = Y (mod M)
from math import ceil, sqrt
def BsGs(X,Y,M):
dic = {}
dic[1] = 0
sq = ceil(M**0.5)
#baby-step
Z = 1
for i in range(sq):
Z = Z * X % M
if Z not in dic:
dic[Z] = i+1
if Y in dic:
return dic[Y]
#giant-step
R = extinv(Z,M)
for i in range(1,sq+1):
Y = Y * R % M
if Y in dic:
return dic[Y] + i * sq
return -1
def crt2(b1,m1,b2,m2):
g,p,q = extGCD(m1,m2)
if b1 % g != b2 % g:
return 0,0
return ( b1 + m1 * ((b2-b1)//g) * p ) % (m1*m2//g) , m1*m2//g
def crt(b,m):
assert len(b) == len(m)
nb,nm = 0,1
for i in range(len(b)):
nb,nm = crt2(nb,nm,b[i],m[i])
if (nb,nm) == (0,0):
return 0,0
return nb,nm
A,B,C,D,N = map(int,input().split())
P,Q,R,S,T = map(int,input().split())
g = math.gcd(R,S)
_,X,Y = extGCD(R,S)
for a in range(A+1):
for b in range(B+1):
trem = T - a * P - b * Q
if trem % g != 0:
continue
nrem = N - a - b
# (R-S)c = trem-nremS
if R != S:
if (trem-nrem*S) % (R-S) != 0:
continue
c = (trem-nrem*S) // (R-S)
d = nrem - c
else:
c = min(C, trem//R)
d = nrem-c
if (a + b + c + d == N) and 0 <= c <= C and 0 <= d <= D and a*P + b*Q + c*R + D*S == T:
print (a,b,c,d)
sys.exit()
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0