#G0067. 花式洗牌【2025测试赛T1】

花式洗牌【2025测试赛T1】

题目描述

江桥有 nn 张扑克牌,每张牌有正面和反面。

初始时,这 nn 张扑克牌叠成一摞,从上到下分别编号为 11nnii 号扑克牌的正反面状态是 aia_i

接下来江桥会进行 mm 轮洗牌,每一轮洗牌江桥都会从当前牌堆的顶部从上到下取出 cic_i 张牌并将这些牌全部翻面(正面变成反面,反面变成正面),然后置于牌堆的最底部(先取的牌先放)。

江桥想知道,mm 轮洗牌以后,牌堆从上到下的每张牌是正面还是反面(正面为 11,反面为 00)。

输入格式

第一行两个正整数 n,mn,m,表示扑克牌数量和洗牌轮数。

接下来 11nn 个整数 aia_i 表示初始时 ii 号牌的正反面状态,其中 ai=1a_i = 1 表示正面, ai=0a_i = 0 表示反面。

接下来 11mm 个正整数 cic_i,表示第 ii 轮洗牌需要从牌堆顶部取出的牌的数量。

输出格式

一行 nn 个整数,只包含 0,10,1,其中第 ii 个整数表示最终牌堆的从上到下的第 ii 张牌的正反面状态。

3 2
0 1 1
1 2
1 0 0
5 1
0 0 0 1 1
2
0 1 1 1 1

数据规模与约定

下发文件

下发文件对应子任务 33

有合理的子任务依赖。

子任务编号 mm≤ 分值
11 2020
22 1010 3030
33 3×1053 \times 10^5 5050

对于 100%100\% 的数据:保证 $1 \leq n,m \leq 3 \times 10^5,1 \leq c_i \leq n \leq 3 \times 10^5,a_i \in \{0,1\}$。