题目:
在x轴上有子弹,有的往左发射,有的往有发射,并且每个子弹都有运行速度。
以向右为正方向。
对于输入,按照坐标递增的顺序输入。
1<=n<=5*10^5 vi,xi的绝对值不超过10^9 vi!=0
对于输出,输出第一次子弹相撞的时间,如果不相撞,输出-1
解决:
二分相撞的时间
然后枚举子弹运行后的位置,如果两个子弹运行方向为相向,且本来右边的子弹到了左边子弹的左边,说明相遇了
代码:
#include <bits/stdc++.h>
using namespace std;
const int N = 500010;
int n;
double x[N], v[N];
bool check(double mid)
{
// printf("mid = %lf\n", mid);
double rr = -1e30;
for (int i = 1; i <= n