結果
問題 | No.2417 Div Count |
ユーザー |
![]() |
提出日時 | 2023-08-12 15:28:21 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 12 ms / 2,000 ms |
コード長 | 670 bytes |
コンパイル時間 | 15,249 ms |
コンパイル使用メモリ | 235,888 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-20 02:30:58 |
合計ジャッジ時間 | 16,937 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 41 |
ソースコード
package main import ( "bufio" "fmt" "os" ) func main() { in := bufio.NewReader(os.Stdin) var N, K, ans int fmt.Fscan(in, &N, &K) val := N - K list, m := soinsu(val) //fmt.Println(list) for i := 0; i < len(list); i++ { _, ok := m[val/list[i]] if list[i] > K { ans++ } if val/list[i] > K && !ok { ans++ } } fmt.Println(ans) } func soinsu(N int) ([]int, map[int]int) { list := make([]int, 0) m := make(map[int]int) for i := 1; i < N; i++ { if i*i > N { break } if N%i != 0 { continue } if N%i == 0 { list = append(list, i) if _, ok := m[i]; ok { m[i]++ } else { m[i] = 1 } } } return list, m }