HDU 5744 Keep On Movin (贪心) 2016杭电多校联合第二场

题目:传送门

如果每个字符出现次数都是偶数, 那么答案显然就是所有数的和. 对于奇数部分, 显然需要把其他字符均匀分配给这写奇数字符. 随便计算下就好了.

#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\n",sum2*2);
        else printf("%d\n",sum2/sum1*2+1);
    }
}

 

posted @ 2016-08-08 19:52  Ritchie丶  阅读(181)  评论(0编辑  收藏  举报