题意:给出,每个字符的个数,让你找,所以字符组成的回文串集合中,每个集合取最小值,然后所以的取最大值。找回文串中最小值的最大值
统计 1 和 2 的个数,如 3可以为 1和2 组成。然后一次把2均分到1上,这样统计出来的就是最大值
#include<cstdio>
int main()
{
int n,k,t;
scanf("%d",&t);
while(t--)
{
int sum=0,z=0,h=0;
scanf("%d",&n);
for(int i=0; i<n; i++)
{
scanf("%d",&k);
if(k&1==1)h++,sum+=(k-1)/2;
else sum+=(k/2);
}
if(h==0)printf("%d\n",sum*2);
else if(h>sum)printf("1\n");
else if(sum==h)printf("3\n");
else printf("%d\n",1+(sum/h)*2);
}
return 0;
}