結果
| 問題 |
No.118 門松列(2)
|
| ユーザー |
tnoda_
|
| 提出日時 | 2015-01-25 16:42:02 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 321 ms / 5,000 ms |
| コード長 | 429 bytes |
| コンパイル時間 | 10,458 ms |
| コンパイル使用メモリ | 242,040 KB |
| 実行使用メモリ | 7,844 KB |
| 最終ジャッジ日時 | 2024-10-10 03:04:52 |
| 合計ジャッジ時間 | 15,169 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 26 |
ソースコード
package main
import (
"fmt"
)
// Prime number
const P = 1000000007
func main() {
var n, z int64
m := make(map[int64]int64)
fmt.Scan(&n)
z = n * (n - 1) * (n - 2) / 6
for i := int64(0); i < n; i++ {
var a int64
fmt.Scan(&a)
m[a]++
}
for _, x := range m {
if x < 2 {
continue
}
if x >= 2 {
z -= (n - x) * x * (x - 1) / 2
}
if x >= 3 {
z -= x * (x - 1) * (x - 2) / 6
}
}
fmt.Println(z % P)
}
tnoda_