結果
問題 |
No.447 ゆきこーだーの雨と雪 (2)
|
ユーザー |
![]() |
提出日時 | 2016-11-18 23:26:47 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
RE
|
実行時間 | - |
コード長 | 972 bytes |
コンパイル時間 | 76 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 14,208 KB |
最終ジャッジ日時 | 2024-11-26 08:38:02 |
合計ジャッジ時間 | 2,090 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | WA * 10 RE * 15 |
ソースコード
from collections import defaultdict i=input p_num = int(i()) l = list(map(int, i().split())) t_num = int(i()) t_list = [] name_list = {} for j in range(t_num): name, p = i().split() t_list.append((name, p)) name_list[name] = j alpa_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'] l_list = {alpa: l[i] for i, alpa in enumerate(alpa_list[:p_num])} ac_list = {alpa: 1 for alpa in alpa_list[:p_num]} rank_dic = {} name_set = set() for name, p in t_list: if name not in name_set: rank_dic[name] = defaultdict(int) name_set.add(name) score = 50*l_list[p] + int(50*l_list[p] / (0.8 + 0.2*ac_list[p])) rank_dic[name][p] = score rank_dic[name]['_sum'] += score ac_list[p] += 1 ranking = sorted(rank_dic.keys(), key=lambda x: (-rank_dic[x]['_sum'], name_list[x])) for i, name in enumerate(ranking): print(i+1, name, end=' ') for alpa in alpa_list[:p_num]: print(int(rank_dic[name][alpa]), end=' ') print(int(rank_dic[name]['_sum']))