結果

問題 No.1708 Quality of Contest
ユーザー wgrape
提出日時 2024-11-07 16:59:02
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 417 ms / 2,000 ms
コード長 628 bytes
コンパイル時間 291 ms
コンパイル使用メモリ 81,920 KB
実行使用メモリ 148,572 KB
最終ジャッジ日時 2024-11-07 16:59:13
合計ジャッジ時間 8,854 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

N,M,X = map(int,input().split())

from collections import defaultdict
dic = defaultdict(list) # 種類:値

for _ in range(N):
    a,b = map(int,input().split())
    dic[b].append(a)

qs = []
for key, value in dic.items():
    sval = sorted(value)
    sval[-1] += X
    qs += sval

qs = sorted(qs)
# 一方で、K人の管理

K = input()
C = list(map(int,input().split()))

S = [0] * (N + 1) # i問目まで解く人が何人いるか
for c in C:
    S[c] += 1
    
for i in range(N - 1, -1, -1):
    S[i] += S[i + 1]

ans = 0
for i in range(1, N + 1):
    if S[i] == 0:
        break
    ans += S[i] * qs.pop()
    
print(ans)
0