結果
問題 | No.79 過小評価ダメ・ゼッタイ |
ユーザー |
|
提出日時 | 2019-06-22 15:35:14 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 290 ms / 5,000 ms |
コード長 | 815 bytes |
コンパイル時間 | 14,788 ms |
コンパイル使用メモリ | 232,792 KB |
実行使用メモリ | 6,016 KB |
最終ジャッジ日時 | 2024-12-26 09:08:09 |
合計ジャッジ時間 | 20,587 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
package main import ( "fmt" "sort" ) type Level struct { level int vote int } type Levels []Level func(ls Levels) Len() int { return len(ls) } func(ls Levels) Less(i, j int) bool { if ls[i].vote < ls[j].vote { return true } else if (ls[i].vote == ls[j].vote) && (ls[i].level < ls[j].level) { return true } return false } func(ls Levels) Swap(i, j int){ ls[i], ls[j] = ls[j], ls[i] } func main() { // memo 値を取り出す var N int fmt.Scan(&N) L := make([]int, N, N) for i := 0; i < N; i++ { fmt.Scan(&L[i]) } // memo 値のcount c := make(map[int]int) for _, v := range L { c[v] += 1 } // memo sort var levels Levels for k, v := range c { levels = append(levels,Level{ level: k, vote: v, }) } sort.Sort(sort.Reverse(levels)) fmt.Println(levels[0].level) }