#P16991. [NWERC 2018] Hard Drive

[NWERC 2018] Hard Drive

背景

译自 NWERC 2018 H 题。

题目描述

Pia 正准备飞往埃因霍温参加 NWERC 2018。收拾硬盘时,她想起航空公司离谱的重量限制,这可能会带来麻烦。

你看,这块硬盘本质上是一串 1100,它的重量取决于其中“位变化”的数量:对于任意两个相邻的比特,如果它们存储的值不同,硬盘就会稍微变重,因此 Pia 不能随意在上面存储信息。

更糟糕的是,这块硬盘太旧了,有些比特已经损坏,并且永远只能存储 00。第一个比特永远不会损坏,但最后一个比特一定损坏。

Pia 决定把这当作一个挑战:她现在想修改硬盘上的信息,使其恰好具有航空公司允许的最大位变化数量。然而损坏的比特让这件事比预想中更难,所以她需要你的帮助。

请找出一个可以存储在硬盘上的比特模式,并且它恰好具有所需数量的位变化。

输入格式

输入包括:

  • 一行三个整数 n,c,bn,c,b2n51052\le n\le 5\cdot 10^51c,bn11\le c,b\le n-1),分别表示硬盘大小(比特数)、期望的位变化数量,以及损坏比特数量。硬盘位置编号为 11nn
  • 一行 bb 个整数 z1,,zbz_1,\ldots,z_b2z1<z2<<zb=n2\le z_1<z_2<\cdots<z_b=n),表示损坏比特的位置。

输出格式

输出一个长度为 nn 的比特串,表示 Pia 的硬盘内容,并且其中恰好包含 cc 次位变化。若有多种合法答案,你可以输出任意一种。保证至少存在一个解。

5 2 3
2 3 5
00010
7 4 2
2 7
0010110

提示

【数据规模与约定】

具体限制见输入格式。