結果
問題 | No.1594 Three Classes |
ユーザー |
|
提出日時 | 2021-07-09 22:29:59 |
言語 | Go (1.23.4) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 868 bytes |
コンパイル時間 | 11,989 ms |
コンパイル使用メモリ | 222,700 KB |
実行使用メモリ | 6,400 KB |
最終ジャッジ日時 | 2024-11-16 08:20:00 |
合計ジャッジ時間 | 12,999 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 WA * 1 |
ソースコード
package main import ( "bufio" "fmt" "os" ) var reader = bufio.NewReader(os.Stdin) var writer = bufio.NewWriter(os.Stdout) func pow(a, x int) int { r := 1 for x > 0 { if x&1 == 1 { r *= a } a *= a x >>= 1 } return r } func toDigits(x, base int) []int { if x == 0 { return []int{0} } ans := make([]int, 0) for x != 0 { ans = append(ans, x%base) x = x / base } return ans } func main() { defer writer.Flush() var n int fmt.Fscan(reader, &n) var a = make([]int, n) for i := 0; i < n; i++ { fmt.Fscan(reader, &a[i]) } for i := 0; i < pow(3, n); i++ { b, c, d := 0, 0, 0 for j, v := range toDigits(i, 3) { switch v { case 0: b += a[j] case 1: c += a[j] case 2: d += a[j] } } if b == c && c == d { fmt.Fprintf(writer, "%v\n", "Yes") return } } fmt.Fprintf(writer, "%v\n", "No") }