Description
给定n个数,请从中选出若干个数,使得总和为偶数,请最大化这个总和。
Input
第一行包含一个正整数n(1<=n<=1000000)。
第二行包含n个正整数a_1,a_2,...,a_n(1<=a_i<=1000)。
Output
输出一个正整数,即最大的总和,若无解则输出NIESTETY。
Sample Input
5
2 4 3 3 3
2 4 3 3 3
Sample Output
12
解题:唔,总和减去最小的奇数
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
long long x,ans=,min_odd = ;
for(int i=;i<=n;i++)
{
scanf("%lld",&x);
ans+=x;
if(x&)
{
min_odd = min(min_odd, x);
}
}
if(ans&)ans-=min_odd;
if(ans==)puts("NIESTETY");else printf("%lld\n",ans);
return ;
}