結果
| 問題 |
No.447 ゆきこーだーの雨と雪 (2)
|
| ユーザー |
tookunn_1213
|
| 提出日時 | 2016-11-19 00:22:01 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 291 ms / 2,000 ms |
| コード長 | 1,127 bytes |
| コンパイル時間 | 455 ms |
| コンパイル使用メモリ | 82,136 KB |
| 実行使用メモリ | 79,744 KB |
| 最終ジャッジ日時 | 2024-11-26 09:46:19 |
| 合計ジャッジ時間 | 4,925 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 25 |
ソースコード
import math
N = int(input())
L = [int(i) for i in input().split()]
T = int(input())
D = [input().split() for i in range(T)]
users = set([D[i][0] for i in range(T)])
AC = [0 for i in range(N)]
scores = {u : [0 for i in range(N)] for u in users}
points = {u : 0 for u in users}
timing = {u : 0 for u in users}
for i in range(T):
name = D[i][0]
problem = ord(D[i][1]) - ord('A')
AC[problem] += 1
scores[name][problem] = math.floor(50 * L[problem] + 50 * L[problem] / (0.8 + 0.2 * AC[problem]))
points[name] += scores[name][problem]
timing[name] = i
users = list(users)
data = [ [users[i],scores[users[i]],points[users[i]],timing[users[i]]] for i in range(len(users))]
for i in range(len(users)):
for j in range(i + 1,len(users)):
if data[i][2] < data[j][2]:
tmp = data[i]
data[i] = data[j]
data[j] = tmp
if data[i][2] == data[j][2]:
if data[i][3] > data[j][3]:
tmp = data[i]
data[i] = data[j]
data[j] = tmp
for i in range(len(data)):
s = str(i + 1)
s += " "
s += str(data[i][0])
s += " "
for j in range(len(data[i][1])):
s += str(data[i][1][j])
s += " "
s += str(data[i][2])
print(s)
tookunn_1213