結果
| 問題 |
No.447 ゆきこーだーの雨と雪 (2)
|
| ユーザー |
|
| 提出日時 | 2022-11-03 23:18:08 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 122 ms / 2,000 ms |
| コード長 | 842 bytes |
| コンパイル時間 | 177 ms |
| コンパイル使用メモリ | 82,524 KB |
| 実行使用メモリ | 79,232 KB |
| 最終ジャッジ日時 | 2024-07-18 05:23:05 |
| 合計ジャッジ時間 | 3,916 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 25 |
ソースコード
n = int(input())
l = list(map(int, input().split()))
t = int(input())
queries = []
cnt = [0 for _ in range(n)]
idx = {}
names = []
for i in range(t):
name, prob = input().split()
prob = ord(prob) - ord("A")
if idx.get(name, None) is None:
idx[name] = len(idx)
names.append(name)
cnt[prob] += 1
s = 50 * l[prob] + (50 * l[prob]) * 5 // (4 + cnt[prob])
queries.append((idx[name], prob, s))
last = [t + 1 for _ in range(len(idx))]
score = [[0 for _ in range(n + 1)] for _ in range(len(idx))]
for k in range(t):
i, j, s = queries[k]
score[i][j] += s
last[i] = k
for i in range(len(idx)):
score[i][n] = sum(score[i])
ranking = [i for i in range(len(idx))]
ranking.sort(key=lambda x: (- score[x][-1], last[x]))
for i in range(len(idx)):
x = ranking[i]
print(f"{i + 1} {names[x]} " + " ".join(map(str, score[x])))