最小相似度
题号:NC22563
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

定义两个位数相等的二进制串的相似度
,所以
给定个长度为的二进制串
现在的问题是找出一个额外的长度为的二进制字符串,使得最小。
因为满足条件的可能不止一个,不需要输出串,只需要输出这个最小值即可。

输入描述:

第一行两个整数
然后行,每行一个长度为的字符串

输出描述:

输出一行一个整数表示答案--的最小值。
示例1

输入

复制
3 5
01001
11100
10111

输出

复制
2

说明

只有当\ T=00010\ max \{ \text SIM(S_{1},T),SIM(S_{2},T)...SIM(S_{N},T) \}达到最小,为2,所以答案是2
示例2

输入

复制
1 8
10011000

输出

复制
0

说明

只有当\ T=01100111\ max \{ \text SIM(S_{1},T),SIM(S_{2},T)...SIM(S_{N},T) \}达到最小,为0,所以答案是0
示例3

输入

复制
5 2
10
01
00
10
11

输出

复制
2

说明

无论\ T=00、01、10、11中的任何一个,\ max \{ \text SIM(S_{1},T),SIM(S_{2},T)...SIM(S_{N},T) \}都为2,所以答案是2