#ATagc024f. [AGC024F] Simple Subsequence Problem

[AGC024F] Simple Subsequence Problem

题目描述

给定一个由 01 组成的字符串集合 SS 以及一个整数 KK。请你求出作为 SS 中至少 KK 个不同字符串的子序列的最长字符串。如果有多个满足条件的字符串,输出字典序最小的那个。

集合 SS 的给定方式如下:

  • 给定整数 NNN+1N+1 个字符串,这 N+1N+1 个字符串依次为 X0,X1,...,XNX_0, X_1, ..., X_N,其中每个 XiX_i 的长度为 2i2^i
  • 对于任意整数对 (i,j)(i, j)0iN,0j<2i0 \leq i \leq N, 0 \leq j < 2^i),XiX_i 的第 jj 个字符(第一个字符为第 00 个,最后一个为第 2i12^i-1 个)为 1 当且仅当,将 jjii 位二进制表示(必要时在前面补 00),得到的字符串属于 SS
  • 长度大于等于 N+1N+1 的字符串不属于 SS

此外,字符串 AA 是字符串 BB 的子序列,指存在整数序列 t1<t2<...<tAt_1 < t_2 < ... < t_{|A|},使得对于所有 i(1iA)i(1 \leq i \leq |A|)AA 的第 ii 个字符等于 BB 的第 tit_i 个字符。

输入格式

输入通过标准输入给出,格式如下:

NN KK X0X_0 :: XNX_N

输出格式

请输出作为 SS 中至少 KK 个不同字符串的子序列的最长字符串中,字典序最小的那个。

样例 1

输入

3 4
1
01
1011
01001110

输出

10

样例 2

输入

4 6
1
01
1011
10111010
1101110011111101

输出

100

样例 3

输入

2 5
0
11
1111

输出


说明/提示

限制条件

  • 0N200 \leq N \leq 20
  • Xi(0iN)X_i (0 \leq i \leq N) 的长度为 2i2^i,且仅包含 01
  • 1KS1 \leq K \leq |S|
  • KK 是整数

样例解释 1

SS 中的字符串有(空字符串)、1001011001100101110。这些字符串中,作为至少 44 个字符串的子序列的最长且字典序最小的字符串是 10

样例解释 3

答案为空字符串。

由 ChatGPT 4.1 翻译