题意:输入一串数字,求和为偶数的最大值
思路:输入的时候直接累加并维护最小的奇数,如果最后和为偶数就直接输出,否则减去最小的奇数即可
#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;
}