AT_abc308_e [ABC308E] MEX
题目描述
给定一个由 0,1,2 组成的长度为 N 的数列 A=(A1,A2,…,AN),以及一个由 M、E、X 组成的长度为 N 的字符串 S=S1S2…SN。
请计算所有满足 1≤i<j<k≤N 且 SiSjSk= MEX 的整数三元组 (i,j,k),对于每个三元组,求 mex(Ai,Aj,Ak) 的总和。这里,mex(Ai,Aj,Ak) 表示不等于 Ai,Aj,Ak 的最小非负整数。
输入格式
输入通过标准输入给出,格式如下:
N A1 A2 … AN S
输出格式
请输出答案,结果为一个整数。
输入输出样例 #1
输入 #1
4
1 1 0 2
MEEX
输出 #1
3
输入输出样例 #2
输入 #2
3
0 0 0
XXX
输出 #2
0
输入输出样例 #3
输入 #3
15
1 1 2 0 0 2 0 2 0 0 0 0 0 2 2
EXMMXXXEMEXEXMM
输出 #3
13
说明/提示
限制条件
- 3≤N≤2×105
- N 为整数
- Ai∈{0,1,2}
- S 是由
M、E、X 组成的长度为 N 的字符串
样例解释 1
满足 SiSjSk= MEX 的 (i,j,k) 共有 (1,2,4),(1,3,4) 两组。mex(A1,A2,A4)=mex(1,1,2)=0,mex(A1,A3,A4)=mex(1,0,2)=3,因此答案为 0+3=3。
由 ChatGPT 4.1 翻译