这题的核心要求是在满足和为偶数的前提下,和要尽可能大

那么在输入值的时候我首先把偶数加起来,把奇数专门存到集合中

然后判断奇数的个数是否大于2,如果是,那么求出最多可以接受多少个奇数,也就是

int len=list.size();

len=len/2*2;

对集合进行从大到小排序

取前len个加起来即可



import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt();
		int a[]=new int[n];
		ArrayList<Integer> list=new ArrayList<>();
		int count=0;
		for (int i = 0; i < a.length; i++) {
			a[i]=scanner.nextInt();
			if(a[i]%2==0) {
				count+=a[i];
			}else {
				list.add(a[i]);
			}
		}
		int len=list.size();
		if(len>=2) {
			Collections.sort(list,Collections.reverseOrder());
			len=len/2*2;
			for(Integer x:list) {
				count+=x;
				len--;
				if(len==0)break;
			}
		}
		System.out.println(count);
		

	}

}