問題一覧 > 通常問題

No.2879 Range Flip Queries

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 103
作問者 : Iroha_3856 / テスター : hiro1729 Rac tikuwa_
0 ProblemId : 11009 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-09-08 08:23:38

問題文

正整数 N,QN, Q と、すべての要素が 00 または 11 からなる長さ NN の数列 A=(A1,A2,,AN)A = (A_1, A_2, \ldots, A_N) が与えられます。

AA に対して、i=1,2,,Qi = 1, 2, \ldots, Q について、以下の操作を行います。

  • Li,RiL_i, R_i が与えられるので、ALi,ALi+1,,ARiA_{L_i}, A_{L_i+1}, \ldots, A_{R_i}フリップする。

すべての操作を終えた後の AA を出力してください。

ただし、xxフリップするとは、x=0x = 0 なら x=1x = 1 に、 x=1x = 1 なら x=0x = 0 にすることを指します。

なお、この制約において、x0x \neq 0 かつ x1x \neq 1であるような xxフリップすることはありません。

入力

N QN\ Q
A1 A2  ANA_1\ A_2\ \ldots\ A_N
L1 R1L_1\ R_1
L2 R2L_2\ R_2
\vdots
LQ RQL_Q\ R_Q

入力は全て以下の制約を満たす。

  • 1N,Q5×1051 \leq N, Q \leq 5 \times 10^{5}
  • Ai=0A_i = 0 もしくは Ai=1A_i = 1
  • 1LiRiN1 \leq L_i \leq R_i \leq N
  • 入力はすべて整数

出力

以下の形式で、操作を全て行った後のAAを出力し、最後に改行してください。

A1 A2  ANA_1\ A_2\ \ldots\ A_N

サンプル

サンプル1
入力
5 3
0 0 0 0 0
1 5
2 4
3 3
出力
1 0 1 0 1

はじめ、A=(0,0,0,0,0)A = (0, 0, 0, 0, 0) です。

11 番目のクエリでは、A1,A2,A3,A4,A5A_1, A_2, A_3, A_4, A_5 をフリップし、 A=(1,1,1,1,1)A = (1, 1, 1, 1, 1) となります。

22 番目のクエリでは、A2,A3,A4A_2, A_3, A_4 をフリップし、 A=(1,0,0,0,1)A = (1, 0, 0, 0, 1) となります。

33 番目のクエリでは、A3A_3 をフリップし、 A=(1,0,1,0,1)A = (1, 0, 1, 0, 1)となります。

したがって、操作を全て行った後、 A=(1,0,1,0,1)A = (1, 0, 1, 0, 1) となるので、これを出力します。

サンプル2
入力
10 7
1 0 1 1 1 1 0 0 1 1
3 6
1 10
4 4
1 7
3 3
2 10
8 8
出力
1 1 0 0 1 1 1 1 1 1

サンプル3
入力
30 24
1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 1
30 30
13 25
30 30
14 24
2 16
10 28
22 24
15 24
9 29
6 26
24 29
2 15
27 28
3 21
17 20
16 16
15 22
27 28
17 28
14 28
25 28
13 22
15 22
15 27
出力
1 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。