$\text{***}$,$\text{**}$想你了。
题目描述
有一个无限长的数列 $A$,初始时 $A$ 中元素全为 $0$。
给定 $n$ 个区间 $[l_i,r_i]$,对于 $i=1,2,\ldots,n$,你需要执行以下的一种操作恰好一次:
- $\forall j\in [l_i,r_i]$,令 $A_j\gets A_j+1$。
- $\forall j \in \mathbb Z \land j\not\in [l_i,r_i]$,令 $A_j\gets A_j+1$。
构造一组方案,使得操作完后数列中最大值最小。
输入格式
第一行,一个正整数 $n$。
接下来 $n$ 行,第 $i$ 行两个正整数 $l_i,r_i$。
输出格式
第一行,一个正整数,表示最小化的最大值。
第二行输出一个长度为 $n$ 的 $\texttt{01}$ 串 $s$:
- $s_i=\texttt{0}$,表示对于 $i$ 选择操作 $\text{2}$;
- $s_i=\texttt{1}$,表示对于 $i$ 选择操作 $\text{1}$。
样例一
input
5 10 10 6 6 1 7 2 5 2 7
output
2 11110
explanation
另一种合法的输出为
2
11011
限制与约定
对于 $100\%$ 的数据,保证:
- $1\le n\le 2\times 10^5$;
- $1\le l_i\le r_i\le 2n$。
| 子任务编号 | $n\le$ | 得分 |
|---|---|---|
| $1$ | $20$ | $7$ |
| $2$ | $150$ | $24$ |
| $3$ | $10^3$ | $21$ |
| $4$ | $5\times 10^4$ | $34$ |
| $5$ | $2\times 10^5$ | $14$ |