[UESTCPC 2024] 黑白珠串
题目描述
你是宽窄巷子里的一位手艺人。这天,顾客向你订购一条黑白珠串。黑白珠串形如一条链,其上排列着黑色和白色的珠子。顾客还向你提出了 $k$ 个条件,每个条件如下:
- 给定 $x,y$,要求黑白珠串中存在至少一个子串,满足子串的长度为 $x$,且恰好包含 $y$ 个黑珠。
这里,子串指黑白珠串中的一段连续的珠子。
请你为顾客构造出符合以上所有条件的黑白珠串,且满足珠串的长度最小。为了保证你构造的珠串满足上述条件,你还要对于每个条件,给出一个满足条件的子串的位置。
输入输出格式
输入格式
第一行包含一个整数 $k$ $(1\leq k\leq 10^5)$,表示条件的数量。
接下来 $k$ 行,其中第 $i$ 行包含两个整数 $x_i,y_i$ $(1\leq x_i\leq 10^6,0\leq y_i\leq x_i)$,表示条件的内容。
输出格式
第一行一个整数 $l$,表示满足条件的黑白珠串的最小长度。
第二行一个由 ```0``` 和 ```1``` 构成的字符串,满足该字符串长度为 $l$,表示你构造的黑白珠串。其中 ```0``` 代表白珠,```1``` 代表黑珠。
接下来 $k$ 行,其中第 $i$ 行包含一个整数 $p_i$,表示满足第 $i$ 个条件的一个子串在珠串中的起始位置。这里令珠串的位置编号从 $0$ 开始。
输入输出样例
输入样例 #1
3
3 1
3 2
2 0
输出样例 #1
4
1100
1
0
2
输入样例 #2
4
2 1
3 3
4 0
3 2
输出样例 #2
7
1110000
2
0
3
1