题解 CF578A 【A Problem about Polyline】
这道题看起来简单,但不易推导。
思路相当简单,首先 a<b 无解,然后就要分两种情况了:
和
所以可得答案为:
和
中的较小者
很明显,第一个式子会大于第二个,所以也不需要求 minimum 了。
代码相当简短:
#include<cstdio>
#define ll long long
int main(){
ll a,b;
scanf("%lld%lld",&a,&b);
if(a<b)return printf("-1"),0;
printf("%.12lf",(a+b)/(2.0*((a+b)/(2*b))));//*2.0是为了强转成double类型的数据
return 0;
}