No.781 円周上の格子点の数え上げ
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 170
作問者 : startcpp / テスター : はむこ
タグ : / 解いたユーザー数 170
作問者 : startcpp / テスター : はむこ
問題文最終更新日: 2017-05-17 12:29:19
問題文
$xy$平面上に, 原点$O$を中心とする半径$\sqrt R$の円があるとき, 円周上にある格子点の個数を$f(R)$とおく。
格子点は, $x$座標$y$座標がともに整数の点である。
たとえば, $f(1) = 4, f(5) = 8, f(25) = 12$である。
$R$の最小値$X$, 最大値$Y$が与えられるので、$max(f(X), f(X+1), …, f(Y))$を求めよ。ただし, $X=Y$のときは$f(X)$を求めよ。
入力
X Y
$X$, $Y$は整数である.
$1 \le X \le Y \le 10^7$
出力
$f(X)$~$f(Y)$の最大値を出力してください。ただし, f(整数)のみ考えます。
最後に改行してください。
サンプル
サンプル1
入力
25 25
出力
12
$25$の平方根のうち正の方は$5$です。
半径$5$の円(原点中心)の円周上には, $12$個の格子点があります。
したがって、$f(25) = 12$となります。
サンプル2
入力
1 50000
出力
64
$f(1)~f(50000)$までの最大値は, $f(27625) = 64$です。
サンプル2
入力
33455 37510
出力
48
$f(33455)~f(37510)$までの最大値は, $f(34450) = 48$です。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。