当前没有测试数据。
E. Blackslex and Girls
时间限制:2秒
内存限制:256兆字节
输入:标准输入
输出:标准输出
在尝试用固定长度比特串的德布鲁因序列搭讪失败后,Blackslex 将注意力转向了政治。
凭借出众的个人魅力,他现在负责为国家的 n 个选区划分边界。在 Blackslex 的国家中,有 x 名支持 A 党的选民和 y 名支持 B 党的选民。借助出色的绘图技巧,他可以将任意党派的选民分配到任意选区内。
比特串相关的经历让他突发奇想:能否通过分配选民,使得每个选区的获胜党派遵循特定的比特串模式?为避免引起怀疑,每个选区还必须至少分配 pi 名选民。请你判断这是否可行!
题目描述
给定一个长度为 n 的二进制字符串 s、一个长度为 n 的数组 p,以及两个整数 x 和 y。请判断是否存在两个长度为 n 的非负整数数组 a 和 b,满足以下所有条件:
- a1+a2+⋯+an=x(所有 A 党选民均被分配);
- b1+b2+⋯+bn=y(所有 B 党选民均被分配);
- 对于每个 1≤i≤n,ai+bi≥pi(第 i 个选区至少有 pi 名选民);
- 对于每个 1≤i≤n:
- 若 si=0,则 ai>bi(A 党在第 i 个选区获胜);
- 若 si=1,则 bi>ai(B 党在第 i 个选区获胜)。
输入格式
第一行包含一个整数 t(1≤t≤104)—— 测试用例的数量。
每组测试用例的输入如下:
- 第一行:三个整数 n、x、y(1≤n≤2⋅105,1≤x,y≤109);
- 第二行:一个长度为 n 的二进制字符串 s;
- 第三行:n 个整数 p1,p2,…,pn(1≤pi≤109)。
所有测试用例的 n 之和不超过 2⋅105。
输出格式
对于每组测试用例,输出 YES 或 NO(不区分大小写),表示是否存在满足条件的数组 a 和 b。
样例输入
6
3 5 5
010
2 4 3
4 2 3
0001
1 1 1 1
2 4 2
00
3 3
4 23 20
1111
2 2 2 2
1 25 26
0
51
2 4 2
00
3 4
样例输出
YES
NO
YES
NO
NO
NO
样例解释
- 第一组测试用例:一种可行的分配方案为 a=[2,0,3],b=[0,4,1]。此时:
- a 数组总和为 2+0+3=5=x,b 数组总和为 0+4+1=5=y;
- 每个选区的选民总数:2+0=2≥p1=2,0+4=4≥p2=4,3+1=4≥p3=3;
- 选区获胜情况:s1=0 时 2>0,s2=1 时 4>0,s3=0 时 3>1,均满足要求。
- 第三组测试用例:一种可行的分配方案为 a=[2,2],b=[1,1]。此时:
- a 数组总和为 2+2=4=x,b 数组总和为 1+1=2=y;
- 每个选区的选民总数:2+1=3≥p1=3,2+1=3≥p2=3;
- 选区获胜情况:s1=0 时 2>1,s2=0 时 2>1,均满足要求。
- 其他测试用例均无法找到满足所有条件的分配方案。