#include #include using namespace std; int main() { int x, y, r; cin >> x >> y >> r; /* 第1象限の結界の直線: y=-x+d 第1象限のUFOの円: (x-X)^2+(y-Y)^2=r^2 両者の交点が存在しないかを求める。 (x-X)^2+(-x+d-Y)^2=r^2 x^2-2Xx+X^2+x^2-2(d-Y)x+(d-Y)^2=r^2 2x^2+(-2X-2(d-Y))x+X^2+(d-Y)^2-r^2=0 以下が成立するとき、交点が存在しない。 a:=2 b:=-2X-2(d-Y) c:=X^2+(d-Y)^2-r^2 b^2-4ac<0 */ x = abs(x); y = abs(y); for (int result = x + y; ; ++result) { double a = 2; double b = -2 * x - 2 * (result - y); double c = x * x + (result - y) * (result - y) - r * r; if (b * b - 4 * a * c < 0.) { cout << result << endl; return 0; } } }