题目描述
LCY买个n束花准备送给她暗恋的女生,但是他不知道这个女生是否喜欢他。这时候一个算命先生告诉他让他查花瓣数,第一个花瓣表示"爱",第二个花瓣表示"不爱",第三个花瓣表示"爱".....
为了使最后结果是"爱",LCY需要从n束花中选出一些,你能帮他算出最后他送给这个女生的花中最多包含多少个花瓣吗?
输入
首先输入一个整数T,表示测试实例的个数。
接下来T组测试实例,每组实例首先输入一行,包括一个整数n(1 <= n <= 100)。
然后输入一行,n个数a1,a2...an(1 <= ai <= 100),表示每束花包含的花瓣的个数。
输出
每组实例输出一个整数,表示LCY最多能送多少个花瓣给这个女生。
思路分析
先将花瓣总数求出,如果是奇数就直接送,如果是偶数就减去到花瓣是奇数花中最少的那一个,如果是偶数并且没有一束奇数花,直接输出“0”。这三类包含了所有情况。
代码
#include<iostream>
using namespace std;
int main()
{
int t;
int n,x,min;
int num;
cin>>t;
while(t--)
{
min=101;
num=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
num+=x;
if(x%2==1&&x<=min)
min=x;
}
if(num%2==1)
cout<<num<<endl;
else if(num%2==0&&min<=100)
cout<<num-min<<endl;
else
cout<<"0"<<endl;
}
return 0;
}