Skip to content

13005: 【原3005】"Windning's Ant"

题目

题目描述

author: hyf042 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/3005

Description

Windning是一个对万事万物充满好奇的小朋友,这次他从南非托鲁毕伽德大草原带回了一些特殊的蚂蚁。 这些蚂蚁一共有n只,Windning把他们放在一根长为L (m)的长棍的某些位置上,从0时刻开始,每只蚂蚁都会向着长棍某一端以v (m/s)的速度前进。 特别的是,如果两只蚂蚁相遇,则它们会立即转向,向反方向前进。 Windning是一个爱思考的小朋友,他想知道最后一只蚂蚁落下这根长棍的时刻t (s)是多少。 Windning很快就得出了答案,不过他想用这个问题来考考你。

Input Format

输入一共有三行

第一行有3个正整数,为别为n,L和v

第二行有n个整数pi,分别表示第i只蚂蚁的初始位置,以木棍左端为原点0

第三行有n个仅为0,1的整数di,表示第i只蚂蚁的初始方向,如果di=0则蚂蚁初始向左方向前进,否则di=1则向右方前进

Output Format

输出仅有一行 一个实数,保留3位小数,表示最后一只蚂蚁走下长棍的时刻(s) 提示输出小数点后三位数字的方法:

#include <cstdio>
double ans; // 计算得到的答案
printf("%.3f\n", ans);

Sample Input

1 10 1
5
0

Sample Output

5.000

Hint

对全部的数据, 0 < L <= 100,000,000, 0 < v <= 100,000,000, 0<= pi <= L

对20%的数据, 0 < n <= 2

对60%的数据, 0 < n <= 10

对100%的数据, 0 < n <= 100,000

Oops! 本题目还没有解答!

助教老师们编题的速度,已经超过了解题的速度!

OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。

如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!