#aBC360D. [ABC360D] Ghost Ants

[ABC360D] Ghost Ants

AT_abc360_d [ABC360D] Ghost Ants

题目描述

在数轴上有 NN 只蚂蚁,编号为 11NN。第 ii 只蚂蚁(1iN1 \leq i \leq N)初始时位于坐标 XiX_i,并朝着正方向或负方向。所有蚂蚁的初始坐标互不相同。每只蚂蚁朝向由一个长度为 NN0101 字符串 SS 表示,若 SiS_i0,则第 ii 只蚂蚁朝负方向,若 SiS_i1,则朝正方向。

现在为时刻 00,在接下来的 (T+0.1)(T+0.1) 单位时间内,NN 只蚂蚁以每单位时间 11 的速度,分别朝各自的方向移动。当多只蚂蚁到达同一坐标时,它们会直接错身而过,不改变方向和速度。(T+0.1)(T+0.1) 单位时间后,所有蚂蚁停止。

请计算满足 1i<jN1 \leq i < j \leq N,在现在到时刻 (T+0.1)(T+0.1) 之间,第 ii 只蚂蚁和第 jj 只蚂蚁会相遇的整数对 (i,j)(i, j) 的数量。

输入格式

输入按以下格式从标准输入给出。

NN TT SS X1X_1 X2X_2 ... XNX_N

输出格式

请输出答案。

输入输出样例 #1

输入 #1

6 3
101010
-5 -1 0 1 2 4

输出 #1

5

输入输出样例 #2

输入 #2

13 656320850
0100110011101
-900549713 -713494784 -713078652 -687818593 -517374932 -498415009 -472742091 -390030458 -379340552 -237481538 -44636942 352721061 695864366

输出 #2

14

说明/提示

限制条件

  • 2N2×1052 \leq N \leq 2 \times 10^{5}
  • 1T1091 \leq T \leq 10^{9}
  • SS 是由 01 组成的长度为 NN 的字符串
  • 109Xi109-10^{9} \leq X_i \leq 10^{9}1iN1 \leq i \leq N
  • XiXjX_i \neq X_j1i<jN1 \leq i < j \leq N
  • N,T,XiN,T,X_i1iN1 \leq i \leq N)均为整数

样例解释 1

以下 55 对蚂蚁会相遇:

  • 蚂蚁 33 和蚂蚁 44 在时刻 0.50.5 相遇。
  • 蚂蚁 55 和蚂蚁 66 在时刻 11 相遇。
  • 蚂蚁 11 和蚂蚁 22 在时刻 22 相遇。
  • 蚂蚁 33 和蚂蚁 66 在时刻 22 相遇。
  • 蚂蚁 11 和蚂蚁 44 在时刻 33 相遇。 除此之外,没有其他蚂蚁组合会相遇,因此输出 55

由 ChatGPT 4.1 翻译