結果
問題 |
No.781 円周上の格子点の数え上げ
|
ユーザー |
![]() |
提出日時 | 2019-04-03 12:36:03 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 1,447 ms / 2,000 ms |
コード長 | 542 bytes |
コンパイル時間 | 15,489 ms |
コンパイル使用メモリ | 235,768 KB |
実行使用メモリ | 156,820 KB |
最終ジャッジ日時 | 2024-12-17 22:24:43 |
合計ジャッジ時間 | 18,828 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
package main import ( "fmt" "math" ) func main() { var min, max int _, _ = fmt.Scan(&min, &max) ans := 0 rMap := make(map[int]int) minX, maxX := 1, int(math.Sqrt(float64(max))) for x := minX; x <= maxX; x++ { minY, maxY := 0, int(math.Sqrt(float64(max)-float64(x*x))) if min-x*x > 0 { minY = int(math.Ceil(math.Sqrt(float64(min) - float64(x*x)))) } // fmt.Println(x, minY, maxY) for y := minY; y <= maxY; y++ { rMap[x*x+y*y]++ if ans < rMap[x*x+y*y] { ans = rMap[x*x+y*y] } } } fmt.Println(ans * 4) }