#P17498. PM14860 最强战队

PM14860 最强战队

题目描述

一支队伍可以使用 nn 种不同的策略,策略编号为 0,1,,n10,1,\ldots,n-1。每名选手只擅长其中某些策略,并且任意两名选手擅长的策略集合都不同。

用一个 nn 位二进制整数表示一名选手擅长的策略集合:若第 ii 位为 11,表示该选手擅长策略 ii。数组 friends 给出了所有选手的编码。

你需要恰好选出 kk 名选手组成战队。对于每种策略 ii,设所选选手中有 cic_i 人擅长该策略,则战队强度定义为

i=0n1ci2\sum_{i=0}^{n-1}c_i^2

求能够得到的最大战队强度。

输入格式

第一行三个整数 n,k,mn,k,m,其中 mm 为选手数量。

第二行 mm 个互不相同的整数 friends0,friends1,,friendsm1friends_0,friends_1,\ldots,friends_{m-1}

输出格式

输出一个整数,表示选择恰好 kk 名选手时能够得到的最大战队强度。

数据范围

  • 3n83\le n\le8
  • 2k82\le k\le8
  • km2nk\le m\le2^n
  • 0friendsi<2n0\le friends_i<2^n
  • 所有 friendsifriends_i 两两不同。

样例 1

3 4 4
0 1 2 3
8

样例 2

3 4 5
0 1 2 3 5
14