题解 | 灵异背包?

求解代码

java 复制代码
public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));

        int n = Integer.parseInt(br.readLine());
        String[] str = br.readLine().split("\\s+");

        long sum = 0;
        int minOdd = Integer.MAX_VALUE;

        for (String s : str){
            int num = Integer.parseInt(s);

            sum += num;

            if((num&1)==1){
                minOdd=Math.min(num, minOdd);
            }
        }

        long res;

        if((sum&1)==0){
            res = sum;
        }else{
            if(minOdd!=Integer.MAX_VALUE){
                res = sum - minOdd;// 总和是奇数,需要减去最小的奇数(若存在)
            }else{
                res = 0;// 没有奇数,只能选空背包
            }
        }
        out.println(res);
        out.flush();
        out.close();
        br.close();

    }
相关推荐
alexhilton9 小时前
端侧RAG实战指南
android·kotlin·android jetpack
雨中飘荡的记忆16 小时前
保证金系统入门到实战
java·后端
Nyarlathotep011316 小时前
Java内存模型
java
二流小码农17 小时前
鸿蒙开发:路由组件升级,支持页面一键创建
android·ios·harmonyos
xq952719 小时前
Android 手游SDK组件化开发实战指南
android
暮色妖娆丶20 小时前
不过是吃了几年互联网红利罢了,我高估了自己
java·后端·面试
煤球王子21 小时前
学习记录:Android14中的WiFi-wpa_supplicant(1)
android
NE_STOP21 小时前
MyBatis-参数处理与查询结果映射
java
狂奔小菜鸡21 小时前
Day40 | Java中的ReadWriteLock读写锁
java·后端·java ee