Wet Shark and Odd and Even

来源:互联网 发布:淘宝卖家取消订单投诉 编辑:程序博客网 时间:2024/05/01 21:48

Wet Shark and Odd and Even

Crawling in process...Crawling failedTime Limit:2000MS    Memory Limit:262144KB     64bit IO Format:%I64d & %I64u

SubmitStatus Practice CodeForces 621A

Description

Today, Wet Shark is given n integers. Using any of these integers no more than once, Wet Shark wants to get maximum possible even (divisible by2) sum. Please, calculate this value for Wet Shark.

Note, that if Wet Shark uses no integers from then integers, the sum is an even integer 0.

Input

The first line of the input contains one integer,n (1 ≤ n ≤ 100 000). The next line containsn space separated integers given to Wet Shark. Each of these integers is in range from1 to 109, inclusive.

Output

Print the maximum possible even sum that can be obtained if we use some of the given integers.

Sample Input

Input
31 2 3
Output
6
Input
5999999999 999999999 999999999 999999999 999999999
Output
3999999996

Sample Output

Hint

In the first sample, we can simply take all three integers for a total sum of6.

In the second sample Wet Shark should take any four out of five integers999 999 999.

思路:

用sort先从小到大排序,把所有的数加起来,先判断总和是不是偶数,若是偶数直接输出,若不是则减去经排序后的最小的奇数,减去第一个奇数时要用for循环先找到第一个奇数的位置。

其次注意数据类型为long long或者__int64。

代码:

#include<stdio.h>#include<algorithm>using namespace std;long long a[100005];int main(){int n;scanf("%d",&n);long long sum=0;for(int i=0;i<n;i++) {scanf("%lld",&a[i]);sum+=a[i];} sort(a,a+n);for(int i=0;i<n;i++){if(sum%2==0)break;else{if(a[i]%2!=0){sum-=a[i];} }} printf("%lld\n",sum);return 0;

0 0
原创粉丝点击