先看看求和能不能是偶数,是就直接返回。如果不是就减最小的奇数。如果没有就只能为0
import java.util.Scanner; import java.util.Arrays; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n=in.nextInt(); int[] a=new int[n]; long sum=0; for(int i=0;i<n;i++){ int temp=in.nextInt(); sum+=temp; a[i]=temp; } if((sum&1)==0){ System.out.println(sum); }else{ Arrays.sort(a); int flag=0; for(int i=0;i<n;i++){ if((a[i]&1)==1){ flag=1; System.out.println(sum-a[i]); break; } } if(flag==0){ System.out.println(0); } } } }
优化可以不用排序,遍历时记录最小的奇数即可