您的位置:首页 > 其它

CodeForces 59B

2017-01-22 21:45 411 查看
Marina loves Sasha. But she keeps wondering whether Sasha loves her. Of course, the best way to know it is fortune telling. There are many ways of telling fortune, but Marina has picked the easiest one. She takes in her hand one or several camomiles and tears off the petals one by one. After each petal she pronounces alternatively "Loves" and "Doesn't love", at that Marina always starts with "Loves". There are n camomiles growing in the field, possessing the numbers of petals equal to a1, a2, ... an. Marina wants to pick a bouquet with the maximal possible total number of petals so that the result would still be "Loves". Help her do that; find the maximal number of petals possible in the bouquet.


Input

The first line contains an integer n (1 ≤ n ≤ 100), which is the number of flowers growing in the field. The second line contains n integers ai (1 ≤ ai ≤ 100) which represent the number of petals on a given i-th camomile.


Output

Print a single number which is the maximal number of petals in the bouquet, the fortune telling on which would result in "Loves". If there are no such bouquet, print 0 instead. The bouquet may consist of a single flower.


I put this quiz in my blog is to remind me to always look for the shortest,fastest,simplest way to solve ANY problem.

we can get a sum from the input than we only to take one minimum odd number from the sum if the sum is even and it’s done.Also remember to check whether the answer is even.

#include<iostream>
using namespace std;

int main(){
int n,m,sum=0,a=101;
cin>>n;
while(n--){
cin>>m;
sum+=m;
if(m%2==1) a=min(a,m);;
}
if(sum%2==1) cout<<sum<<endl;
else{
if(a==101) cout<<0<<endl;
else cout<<sum-a<<endl;
}
return 0;
}


Always and always……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  codeforces