結果
| 問題 |
No.3068 Speedrun (Hard)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-03-22 02:12:50 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,851 ms / 2,000 ms |
| コード長 | 1,724 bytes |
| コンパイル時間 | 540 ms |
| コンパイル使用メモリ | 82,232 KB |
| 実行使用メモリ | 76,172 KB |
| 最終ジャッジ日時 | 2025-03-22 02:12:58 |
| 合計ジャッジ時間 | 7,731 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 32 |
ソースコード
import sys
input = lambda :sys.stdin.readline()[:-1]
ni = lambda :int(input())
na = lambda :list(map(int,input().split()))
yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES")
no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO")
#######################################################################
# r(z + w) = t - px - qy
# Z =
# z + w = n - x - y
# rz + sw = t - px - qy
# z + w = n - x - y
# [-1, s]
# (s - r) z == (px + qy - t) + s* (n - x - y)
def solve(a, b, c, d, n, p, q, r, s, t):
for x in range(a + 1):
if t > p * x + q * b + r * c + s * d:
continue
for y in range(b + 1):
A = p * x + q * y - t + s * (n - x - y)
if p * x + q * y + r * c + s * d < t:
continue
if r != s:
if A % (s - r) == 0:
z = A // (s - r)
w = n - x - y - z
if 0 <= z <= c and 0 <= w <= d:
return x, y, z, w
else:
A = t - p * x - q * y
if A % r == 0:
Z = A // r
if 0 <= Z <= c + d and Z == n - x - y:
z = min(Z, c)
w = Z - z
return x, y, z, w
a,b,c,d,n = na()
p,q,r,s,t = na()
x,y,z,w = solve(a,b,c,d,n,p,q,r,s,t)
# print(p * x + q * y + r * z + s * w)
print(x,y,z,w)
# *A, n = na()
# *P, t = na()
# for i in range(4):
# aa = [A[p[i]] for i in range(4)]
# pp = [P[p[i]] for i in range(4)]
# res = solve(*aa, n, *p, t)
# if res != None:
# print(*[res[p[i]] for i in range(4)])
# exit()