問題一覧 > 通常問題

No.2879 Range Flip Queries

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

問題文

正整数 $N, Q$ と、すべての要素が $0$ または $1$ からなる長さ $N$ の数列 $A = (A_1, A_2, \ldots, A_N)$ が与えられます。

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

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

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

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

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

入力

$N\ Q$
$A_1\ A_2\ \ldots\ A_N$
$L_1\ R_1$
$L_2\ R_2$
$\vdots$
$L_Q\ R_Q$

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

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

出力

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

$A_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)$ です。

$1$ 番目のクエリでは、$A_1, A_2, A_3, A_4, A_5$ をフリップし、 $A = (1, 1, 1, 1, 1)$ となります。

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

$3$ 番目のクエリでは、$A_3$ をフリップし、 $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もしくは右上の雲マークをクリックしてアカウントを作成してください。