結果
問題 | No.864 四方演算 |
ユーザー |
![]() |
提出日時 | 2019-08-17 22:25:03 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 13 ms / 1,000 ms |
コード長 | 557 bytes |
コンパイル時間 | 14,328 ms |
コンパイル使用メモリ | 234,356 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-25 10:50:20 |
合計ジャッジ時間 | 15,185 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
package main import ( "fmt" "sort" ) func divisors(x int) []int { var r []int for i := 1; i*i <= x; i++ { if x%i == 0 { r = append(r, i) if i*i != x { r = append(r, x/i) } } } sort.Ints(r) return r } func patterns(x int) int { if x <= 1 { return 0 } else if x <= n+1 { return x - 1 } else if x <= 2*n { return 2*n + 1 - x } else { return 0 } } var n, k int func main() { fmt.Scan(&n, &k) divs := divisors(k) ans := 0 for i := range divs { ans += patterns(divs[i]) * patterns(k/divs[i]) } fmt.Println(ans) }