ABC191 D - Circle Lattice Points (400)
小数のまま扱うのは誤差が怖いので入力を1万倍する
1万倍したのを掛け合わせても64bitを越えない
誤差が怖いのでただキャストするだけじゃなくてround()した方が良い
x軸の左から右に見ていきたいので、取り得る範囲で1万に倍数になる左端と右端を求める
10000以下を捨てたり繰り上げたりするように計算することで求まる
x軸の値が1万の倍数の点でそれぞれ以下を行う
Y軸の取り得る値の上限と下限を求める
符号が異なる場合はそれぞれ1万で割った値を足して0の分の1を加える
同じ符号の場合は絶対値の大きい方を1万で割ってから小さい方から1引いた値を1万で割ったのを引く
sqrt()にlong longを渡すと精度が足りなくなり2WAするみたいだが、long doubleにキャストして渡すとACする