codeforces #341 div2 A. Die Roll

http://codeforces.com/contest/621/problem/A

A. Wet Shark and Odd and Even

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

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 by 2) sum. Please, calculate this value for Wet Shark.

Note, that if Wet Shark uses no integers from the n 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 contains n space separated integers given to Wet Shark. Each of these integers is in range from 1 to 109, inclusive.

Output

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

Sample test(s)

input

3
1 2 3

output

6

input

5
999999999 999999999 999999999 999999999 999999999

output

3999999996

Note

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

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

题意,n个数,每个数最多使用一次,问能得到的最大的偶数和是多少。 思路:偶数不影响。偶数个奇数和还是偶数,不影响。奇数个奇数的时候把最小的奇数拿出来。

 1/* ***********************************************
 2Author :111qqz
 3Created Time :2016年01月31日 星期日 22时02分34秒
 4File Name :code/cf/#341/A.cpp
 5************************************************ */
 6
 7#include <cstdio>
 8#include <cstring>
 9#include <iostream>
10#include <algorithm>
11#include <vector>
12#include <queue>
13#include <set>
14#include <map>
15#include <string>
16#include <cmath>
17#include <cstdlib>
18#include <ctime>
19#define fst first
20#define sec second
21#define lson l,m,rt<<1
22#define rson m+1,r,rt<<1|1
23#define ms(a,x) memset(a,x,sizeof(a))
24typedef long long LL;
25#define pi pair < int ,int >
26#define MP make_pair
27
28using namespace std;
29const double eps = 1E-8;
30const int dx4[4]={1,0,0,-1};
31const int dy4[4]={0,-1,1,0};
32const int inf = 0x3f3f3f3f;
33const int N=1E5+7;
34
35LL n;
36LL a[N];
37int main()
38{
39	#ifndef  ONLINE_JUDGE 
40	freopen("code/in.txt","r",stdin);
41  #endif
42	cin>>n;
43	int cnt = 0 ;
44	LL minodd = inf;
45	LL ans = 0 ;
46	for ( int i = 0 ; i < n ; i++)
47	{
48	    scanf("%lld",&a[i]);
49	    if (a[i]%2==1)
50	    {
51		cnt++;
52		minodd = min(minodd,a[i]);
53	    }
54	    ans +=a[i];
55	}
56	if (cnt%2==1) ans-=minodd;
57	cout<<ans<<endl;
58
59  #ifndef ONLINE_JUDGE  
60  fclose(stdin);
61  #endif
62    return 0;
63}