結果
| 問題 |
No.3068 Speedrun (Hard)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-05-25 14:11:35 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,299 bytes |
| コンパイル時間 | 571 ms |
| コンパイル使用メモリ | 82,472 KB |
| 実行使用メモリ | 70,192 KB |
| 最終ジャッジ日時 | 2025-05-25 14:11:40 |
| 合計ジャッジ時間 | 5,147 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 4 TLE * 1 -- * 27 |
ソースコード
A,B,C,D,N = map(int,input().split())
P,Q,R,S,T = map(int,input().split())
ans = []
if P==Q==R==S:
if S*N==T:
x = min(A,N)
y = min(B,N-x)
z = min(C,N-x-y)
w = min(D,N-x-y-z)
if x+y+z+w==N:
ans = [x,y,z,w]
elif P!=S and Q==R==S:
if (T-S*N)%(P-S)==0 and (T-S*N)//(P-S)<=A:
x = (T-S*N)//(P-S)
y = min(B,N-x)
z = min(C,N-x-y)
w = min(D,N-x-y-z)
if x+y+z+w==n:
ans = [x,y,z,w]
elif P!=S and Q!=S and R==S:
for x in range(A+1):
if A>N:break
if (S*N-T-(S-P)*x)%(S-Q)==0 and (S*N-T-(S-P)*x)//(S-Q)<=B:
y = (S*N-T-(S-P)*x)//(S-Q)
if x+y<=N:
z = min(C,N-x-y)
w = min(D,N-x-y-z)
if x+y+z+w==N:
ans = [x,y,z,w]
break
else:
for x in range(A+1):
if x>N:break
for y in range(B+1):
if x+y>N:break
if (S*N-T-(S-P)*x-(S-Q)*y)%(S-R)==0 and (S*N-T-(S-P)*x-(S-Q)*y)//(S-R)<=C:
z = (S*N-T-(S-P)*x-(S-Q)*y)//(S-R)
if x+y+z<=N:
w = min(D,N-x-y-z)
if x+y+z+w==N:
ans = [x,y,z,w]
break
if ans:break
print(*ans)