結果
| 問題 | No.628 Tagの勢い | 
| コンテスト | |
| ユーザー |  toshiro_yanagi | 
| 提出日時 | 2018-06-16 10:56:53 | 
| 言語 | Nim (2.2.0) | 
| 結果 | 
                                CE
                                 
                            (最新) 
                                AC
                                 
                            (最初) | 
| 実行時間 | - | 
| コード長 | 535 bytes | 
| コンパイル時間 | 1,055 ms | 
| コンパイル使用メモリ | 69,324 KB | 
| 最終ジャッジ日時 | 2024-11-14 20:27:56 | 
| 合計ジャッジ時間 | 1,503 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge5 | 
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
            
            
            
            
            ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
/home/judge/data/code/Main.nim(12, 16) Error: type mismatch Expression: dic[str] += S[1] [1] dic[str]: int [2] S[1]: int Expected one of (first mismatch at [position]): [1] proc `+=`[T: SomeInteger](x: var T; y: T) [1] proc `+=`[T: float | float32 | float64](x: var T; y: T)
ソースコード
import strutils, sequtils, algorithm, tables
proc getStr: auto = stdin.readLine
var dic = initCountTable[string]()
let N = getStr().parseInt
for i in 0 ..< N:
  let
    No, S = getStr().split.map parseInt
    Tags = getStr().split
  for str in Tags:
    if str in dic:
      dic[str] += S[1]
    else:
      dic[str]  = S[1]
var
  i = 0
  dic2 = newSeq[tuple[n: string, t: int]](dic.len)
for k, v in dic:
  dic2[i].n = k
  dic2[i].t = v
  i += 1
for i, d in sortedByIt(dic2, (-it.t, it.n)):
  if i >= 10: break
  echo d.n, " ", d.t
            
            
            
        