题意:输入一串数字,求和为偶数的最大值
思路:输入的时候直接累加并维护最小的奇数,如果最后和为偶数就直接输出,否则减去最小的奇数即可
#include <cstdio>
#include <queue>
#include <cstring>
#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <map>
#include <string>
#include <set>
#include <ctime>
#include <cmath>
#include <cctype>
using namespace std;
#define maxn 100000+100
#define LL long long
int cas=1,T;
const int INF = 1<<30;
int a[maxn];
int res;
LL sum;
int main()
{
int n;
scanf("%d",&n);
sum=0;
res = INF;
for (int i = 0;i<n;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
if (a[i]%2)
res = min(res,a[i]);
}
if (sum %2 ==0)
printf("%lld\n",sum);
else
printf("%lld\n",sum-res);
//freopen("in","r",stdin);
//scanf("%d",&T);
//printf("time=%.3lf",(double)clock()/CLOCKS_PER_SEC);
return 0;
}
题目
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 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 Input
Input
3 1 2 3
Output
6
Input
5 999999999 999999999 999999999 999999999 999999999
Output
3999999996
Hint
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.