#P10330. [UESTCPC 2024] 黑白珠串

[UESTCPC 2024] 黑白珠串

题目描述

你是宽窄巷子里的一位手艺人。这天,顾客向你订购一条黑白珠串。黑白珠串形如一条链,其上排列着黑色和白色的珠子。顾客还向你提出了 kk 个条件,每个条件如下:

  • 给定 x,yx,y,要求黑白珠串中存在至少一个子串,满足子串的长度为 xx,且恰好包含 yy 个黑珠。

这里,子串指黑白珠串中的一段连续的珠子。

请你为顾客构造出符合以上所有条件的黑白珠串,且满足珠串的长度最小。为了保证你构造的珠串满足上述条件,你还要对于每个条件,给出一个满足条件的子串的位置。

输入格式

第一行包含一个整数 kk (1k105)(1\leq k\leq 10^5),表示条件的数量。

接下来 kk 行,其中第 ii 行包含两个整数 xi,yix_i,y_i (1xi106,0yixi)(1\leq x_i\leq 10^6,0\leq y_i\leq x_i),表示条件的内容。

输出格式

第一行一个整数 ll,表示满足条件的黑白珠串的最小长度。

第二行一个由 01 构成的字符串,满足该字符串长度为 ll,表示你构造的黑白珠串。其中 0 代表白珠,1 代表黑珠。

接下来 kk 行,其中第 ii 行包含一个整数 pip_i,表示满足第 ii 个条件的一个子串在珠串中的起始位置。这里令珠串的位置编号从 00 开始。

3
3 1
3 2
2 0
4
1100
1
0
2
4
2 1
3 3
4 0
3 2
7
1110000
2
0
3
1