302967: CF578A. A Problem about Polyline

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

A Problem about Polyline

题意翻译

现在有一条折线,它经过了点:(0,0)–(x,x)–(2x,0)–(3x,x)–(4x,0)–...-(2kx,0)–(2kx+x,x)–... 现在知道了这个折线经过点(a,b),找到最小的满足题意的x。如果没有这样的x输出-1。

题目描述

There is a polyline going through points $ (0,0)–(x,x)–(2x,0)–(3x,x)–(4x,0)–...-(2kx,0)–(2kx+x,x)–... $ . We know that the polyline passes through the point $ (a,b) $ . Find minimum positive value $ x $ such that it is true or determine that there is no such $ x $ .

输入输出格式

输入格式


Only one line containing two positive integers $ a $ and $ b $ ( $ 1<=a,b<=10^{9} $ ).

输出格式


Output the only line containing the answer. Your answer will be considered correct if its relative or absolute error doesn't exceed $ 10^{-9} $ . If there is no such $ x $ then output $ -1 $ as the answer.

输入输出样例

输入样例 #1

3 1

输出样例 #1

1.000000000000

输入样例 #2

1 3

输出样例 #2

-1

输入样例 #3

4 1

输出样例 #3

1.250000000000

说明

You can see following graphs for sample 1 and sample 3. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF578A/abf33c2e979ad11f626e45babf5d2a8a224a3964.png) ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF578A/567201d8db120e4f8136d5be265b91eca027e0d4.png)

Input

题意翻译

现在有一条折线,它经过了点:(0,0)–(x,x)–(2x,0)–(3x,x)–(4x,0)–...-(2kx,0)–(2kx+x,x)–... 现在知道了这个折线经过点(a,b),找到最小的满足题意的x。如果没有这样的x输出-1。

加入题单

算法标签: