結果

問題 No.5018 Let's Make a Best-seller Book
ユーザー すぎぱも
提出日時 2023-10-01 14:53:35
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 147 ms / 400 ms
コード長 834 bytes
コンパイル時間 405 ms
コンパイル使用メモリ 87,108 KB
実行使用メモリ 92,556 KB
スコア 4,176
平均クエリ数 52.00
最終ジャッジ日時 2023-10-01 14:53:54
合計ジャッジ時間 17,442 ms
ジャッジサーバーID
(参考情報)
judge11 / judge13
純コード判定しない問題か言語
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 100
権限があれば一括ダウンロードができます

ソースコード

diff #

T, N, money = map(int, input().split())
s, p, r = [0] * N, [0] * N, [0] * N


def softmax(x):
    import math
    max_x = max(x)
    exp_x = [e - max_x for e in x]
    exp_x = [math.exp(e) for e in exp_x]
    softmax_values = [e / sum(exp_x) for e in exp_x]
    return softmax_values


def do(arg):
    if type(arg) == list:
        print(1, *arg, flush=True)
    else:
        print(2, arg, flush=True)
    money = int(input())
    if money == -1:
        exit()
    s = list(map(int, input().split()))
    p = list(map(int, input().split()))
    r = list(map(int, input().split()))
    return money, s, p, r


money, s, p, r = do([money // (500 * N)] * N)

for week in range(T - 1):
    pay = [money // 3 * s for s in softmax(p)]
    pay = [int(p) // 500 for p in pay]
    money, s, p, r = do(pay)


# 20 20 20 20 20 20 20 20 20 20
0