1205: 你爱我么?

1205: 你爱我么?
时间限制: 1 Sec 内存限制: 128 MB
提交: 954 解决: 405
[提交][状态][讨论版][命题人:外部导入]
题目描述
LCY买个n束花准备送给她暗恋的女生,但是他不知道这个女生是否喜欢他。这时候一个算命先生告诉他让他查花瓣数,第一个花瓣表示”爱”,第二个花瓣表示”不爱”,第三个花瓣表示”爱”……
为了使最后结果是”爱”,LCY需要从n束花中选出一些,你能帮他算出最后他送给这个女生的花中最多包含多少个花瓣吗?

输入
首先输入一个整数T,表示测试实例的个数。
接下来T组测试实例,每组实例首先输入一行,包括一个整数n(1 <= n <= 100)。
然后输入一行,n个数a1,a2…an(1 <= ai <= 100),表示每束花包含的花瓣的个数。

输出
每组实例输出一个整数,表示LCY最多能送多少个花瓣给这个女生。

样例输入
3
1
1
1
2
3
5 6 7

样例输出
1
0
13
提示
每一束花不允许去掉一些花瓣再送。这样算命就不准了-_-#

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int t;
    scanf("%d",&t);

    while(t--)
    {
        int n;
        int a[105] = {0};

        scanf("%d",&n);

        for(int i = 0;i < n;i++)
            scanf("%d",&a[i]);

        sort(a,a+n);//排序

        int sum = 0;

        for(int i = 0;i < n;i++)
            sum += a[i];


        if(sum % 2 != 0)
            printf("%d\n",sum);

        else
        {
            for(int i = 0;i < n;i++)
            {
                if(a[i] %2 != 0)//偶数减去最小的奇数
                {
                    sum -= a[i];
                    break;
                }
                else
                    continue;
            }

            if(sum % 2 == 0)
               printf("0\n");
            else
               printf("%d\n",sum);
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/drfcgjnkml/article/details/81282400