#YDOI2024A. Ciallo~(∠・ω< )⌒★

Ciallo~(∠・ω< )⌒★

戳我下载下发文件。

题目描述

2n2n 个人在走楼梯。

其中有 nn 个人在楼梯下面,他们需要上楼梯;另外 nn 个人在楼梯上面,他们需要下楼梯。

ii 个人上楼梯所需时间是 aia_i,下楼梯所需时间是 bib_i。第 ii 个人上/下楼梯需要等前 i1i-1 个人上/下完才能进行。

请合理分配这 2n2n 个人,钦定每个人是上楼梯还是下楼梯,使每个人走楼梯所需时间尽可能小。

形式化的,记:

fr(x)={ax,r=0bx,r=1f_r(x)=\begin{cases}a_x,&r=0\\b_x,&r=1\end{cases}

构造一个长为 2n2n 的 01 序列 ss,满足 ss 中恰有 nn00nn11。试最小化 fsi(i)\sum f_{s_i}(i),并构造方案。

输入格式

输入的第一行包含一个整数 nn,表示每种类别的人数;

输入的第二行包含 2n2n 个整数 aia_i,分别表示第 ii 个人上楼梯所需时间。

输入的第三行包含 2n2n 个整数 bib_i,分别表示第 ii 个人下楼梯所需时间。

输出格式

输出的第一行包含一个整数,表示每个人所需时间之和的最小值。

输出的第二行包含 2n2n 个整数 sis_i,分别表示分配给每个人的类别。其中,若钦定第 ii 个人上楼梯,则 si=0s_i=0,反之 si=1s_i=1

若存在多解,输出其中任一即可。

输入输出样例

2
1 3 2 4
2 3 1 3
8
0 0 1 1 

提示

【数据范围】

对于 100%100\% 的数据,1n5×1051\le n\le5\times10^51ai,bi1061\le a_i,b_i\le10^6

Point\text{Point} nn\le Note\text{Note}
161\sim6 1010 No\text{No}
787\sim8 1313
9129\sim12 10310^3
1313 5×1055\times10^5 A\text{A}
141514\sim15 B\text{B}
162016\sim20 No\text{No}
  • Note A\text{Note A}ai=bia_i=b_i
  • Note B\text{Note B}:序列 aa 单调递增,序列 bb 单调递减。