题目详情
返回题库题目描述
在一条标有1至N的数线上有N只蚂蚁。蚂蚁i(1≤i≤N)从坐标$X_i$开始,朝向正方向或负方向。最初,所有蚂蚁都位于不同的坐标上。每只蚂蚁面对的方向由长度为N的二进制字符串S表示,其中如果$S_i$为 "0",则蚂蚁i面对的是负方向;如果$S_i$为 "1",则蚂蚁i面对的是正方向。
假设当前时间为0,在(T+0.1)个单位时间内,蚂蚁以每单位时间1个单位的速度向各自的方向移动,直到时间(T+0.1)。如果多只蚂蚁到达同一坐标,它们会互相穿过,方向和速度都不会改变。经过(T+0.1)个单位时间后,所有蚂蚁停止。
求从现在起到时间(T+0.1)之前,1≤i<j≤N与蚂蚁i和j相互经过的蚂蚁对(i,j)的个数。
输入描述
第一行N和T
第二行字符串S
第三行$X_1,X_2,X_3.......X_N$
数据范围:
- 2≤N≤2×$10^5$
- 1≤T≤$10^9$
- 字符长度为N,有0和1组成
- −$10^9$≤$X_i$≤$10^9$(1≤i≤N)
- $X_i$≠$X_j$(1≤i<j≤N)
输出描述
打印答案
提示
样例1解释:
以下五对蚂蚁互相通过:
- 蚂蚁3和蚂蚁4在0.5时刻擦肩而过。
- 蚂蚁5和蚂蚁6在1时刻擦肩而过。
- 蚂蚁1和蚂蚁2在2时刻擦肩而过。
- 蚂蚁3和蚂蚁6在2时刻擦肩而过。
- 蚂蚁1和蚂蚁4在3时刻擦肩而过。
没有其他成对的蚂蚁互相经过,所以打印5。