結果
問題 |
No.628 Tagの勢い
|
ユーザー |
|
提出日時 | 2019-09-24 00:22:18 |
言語 | Nim (2.2.0) |
結果 |
AC
|
実行時間 | 5 ms / 2,000 ms |
コード長 | 746 bytes |
コンパイル時間 | 3,588 ms |
コンパイル使用メモリ | 67,020 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-19 04:49:07 |
合計ジャッジ時間 | 3,988 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
import algorithm, sequtils, strutils type No0628 = tuple[tag: string, val: int] proc mycmp(x, y: No0628): int = if x.val != y.val: if x.val < y.val: 1 else: -1 else: if x.tag < y.tag: -1 else: 1 let n: int = stdin.readline.parseInt a: seq[string] = mapIt(0..<(3 * n), stdin.readline) var tags: seq[string] vals: seq[int] ans: seq[No0628] for i in 0..<n: var s: seq[int] = a[3 * i + 1].split.map(parseInt) t: seq[string] = a[3 * i + 2].split for j in 0..<s[0]: if tags.find(t[j]) == -1: tags.add(t[j]) vals.add(s[1]) else: vals[tags.find(t[j])] += s[1] for i in 0..<tags.len: ans.add((tags[i], vals[i])) ans.sort(mycmp) for i in 0..<min(10, ans.len): echo ans[i].tag, ' ', ans[i].val