結果

問題 No.3068 Speedrun (Hard)
ユーザー flippergo
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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)
0