結果

問題 No.628 Tagの勢い
ユーザー toshiro_yanagitoshiro_yanagi
提出日時 2018-06-16 10:56:53
言語 Nim
(2.0.2)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 535 bytes
コンパイル時間 830 ms
コンパイル使用メモリ 69,412 KB
最終ジャッジ日時 2024-04-27 02:33:51
合計ジャッジ時間 1,224 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、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)

ソースコード

diff #

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
0