bzoj 4291: [PA2015]Kieszonkowe

时间:2023-12-31 19:43:20

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

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 ;
}