您的位置:首页 > 编程语言 > Go语言

EOJ Monthly 2018.2 (Good bye 2017) F 回家咯 【解方程】

2018-02-13 22:08 543 查看

F. 回家咯

Time limit per test: 2.0 seconds

Memory limit: 256 megabytes

欢乐的 Xiamen 之旅终于结束了,恋恋不舍的 oxx 想坐高铁送 xjj 回去后再回自己家,可是计算了一下这样花费时间太久了,所以最后他们决定一同坐到一个较大的中转站,再各自回家。

而健忘的 oxx 不小心把中转站的名字忘记了。但 oxx 的草稿纸上还写着他直接回家(经过中转站)所需时间,直接到 xjj 家(经过中转站)的时间,以及他先到 xjj 家后再到中转站再回家的总时间。你能帮他计算出出发多少分钟后到达中转站吗?

中转站在 Xiamen 到 oxx 家,xjj 家的路程之间,且不为 Xiamen,oxx 家,xjj 家。两个地点之间来回所用的时间相等。



短虚线为到 oxx 家的路线,实线为到 xjj 家的路线,长虚线为先到 xjj 家后到 oxx 家的路线。

Input

一行三个整数 x,y,z (1≤x,y,z≤105),分别表示 oxx 直接回家所需时间,直接到 xjj 家的时间以及他到 xjj 家后再到中转站再回家的总时间。

Output

一个实数 k,表示 oxx 在第几分钟下车到达中转站,如果 oxx 记错了时间(数据非法)则输出 Wrong。

如果答案是实数,误差不得超过 10−2。也就是说,如果输出是 a,答案是 b,只有在 |a−b|max(1,|b|)<10−2 时答案正确。

Examples

Input

2 2 4

Output

1.00

Input

2 2 8

Output

Wrong

题意:略

分析: 注意题上说了中转站不在 其余三点上,我们设三段路分别为 a,b,c,如下图



可以列下三个方程 :

a + c = x;

a + b = y;

a + 2b + c = z;

解x,y,z即可

无解即为 Wrong


参考代码

#include <bits/stdc++.h>

using namespace std;

int main() {
double a,b,c;cin>>a>>b>>c;
double res = (a +2*b -c)/2;
if(res > 0 && (a+c-2*b) > 0 && (c - a) > 0) {
printf("%.5f\n",res);
} else  cout<<"Wrong"<<endl;
return 0;
}


如有错误或遗漏,请私聊下UP,thx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: