题目:传送门。
如果每个字符出现次数都是偶数, 那么答案显然就是所有数的和. 对于奇数部分, 显然需要把其他字符均匀分配给这写奇数字符. 随便计算下就好了.
#include <iostream> #include <algorithm> #include <cstdio> #include <cstring> using namespace std; int main() { int T,n,a; scanf("%d",&T); while(T--) { scanf("%d",&n); int sum2=0,sum1=0; for(int i=0;i<n;i++) { scanf("%d",&a); sum2 += a/2; if(a%2==1) sum1++; } if(sum1==0) printf("%d ",sum2*2); else printf("%d ",sum2/sum1*2+1); } }