蓝桥杯19724食堂

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int q = scanner.nextInt();
        
        while (q-- > 0) {
            int a2 = scanner.nextInt();
            int a3 = scanner.nextInt();
            int a4 = scanner.nextInt();
            int b4 = scanner.nextInt();
            int b6 = scanner.nextInt();
            
            int ans = 0;
            int mi4 = Math.min(b4, a4);
            ans += mi4 * 4;
            b4 -= mi4;
            a4 -= mi4;
            
            int mi22 = Math.min(b4, a2 / 2);
            ans += mi22 * 4;
            b4 -= mi22;
            a2 -= mi22 * 2;
            
            int mi24 = Math.min(Math.min(a2, a4), b6);
            ans += mi24 * 6;
            b6 -= mi24;
            a2 -= mi24;
            a4 -= mi24;
            
            int mi33 = Math.min(a3 / 2, b6);
            ans += mi33 * 6;
            b6 -= mi33;
            a3 -= mi33 * 2;
            
            int mi222 = Math.min(a2 / 3, b6);
            ans += mi222 * 6;
            b6 -= mi222;
            a2 -= mi222 * 3;
            
            int mi23 = Math.min(Math.min(a2, a3), b6);
            ans += mi23 * 5;
            b6 -= mi23;
            a2 -= mi23;
            a3 -= mi23;
            
            int mi4b6 = Math.min(a4, b6);
            ans += mi4b6 * 4;
            b6 -= mi4b6;
            a4 -= mi4b6;
            
            int mi3b4 = Math.min(b4, a3);
            ans += mi3b4 * 3;
            b4 -= mi3b4;
            a3 -= mi3b4;
            
            int mi3b6 = Math.min(b6, a3);
            ans += mi3b6 * 3;
            b6 -= mi3b6;
            a3 -= mi3b6;
            
            int mi22b6 = Math.min(b6, a2 / 2);
            ans += mi22b6 * 4;
            b4 -= mi22b6;
            a2 -= 2 * mi22b6;
            
            int mi2b4 = Math.min(b4, a2);
            ans += mi2b4 * 2;
            b4 -= mi2b4;
            a2 -= mi2b4;
            
            int mi2b6 = Math.min(b6, a2);
            ans += mi2b6 * 2;
            
            System.out.println(ans);
        }
        scanner.close();
    }
}
相关推荐
6Hzlia2 小时前
【Hot 100 刷题计划】 LeetCode 78. 子集 | C++ 回溯算法题解
c++·算法·leetcode
Kethy__2 小时前
计算机中级-数据库系统工程师-数据结构-查找算法
数据结构·算法·软考·查找算法·计算机中级
所以遗憾是什么呢?2 小时前
【题解】Codeforces Round 1081 (Div. 2)
数据结构·c++·算法·acm·icpc·ccpc·xcpc
i220818 Faiz Ul3 小时前
动漫商城|基于springboot + vue动漫商城系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·动漫商城系统
海兰3 小时前
【实战】MCP 服务在 Nacos 中注册状态分析与优化
android·java·github·银行系统·银行ai
xiaoye-duck3 小时前
《算法题讲解指南:递归,搜索与回溯算法--综合练习》--14.找出所有子集的异或总和再求和,15.全排列Ⅱ,16.电话号码的字母组合,17.括号生成
c++·算法·深度优先·回溯
OOJO3 小时前
c++---vector介绍
c语言·开发语言·数据结构·c++·算法·vim·visual studio
茉莉玫瑰花茶3 小时前
数据结构 - 并查集
数据结构
汀、人工智能3 小时前
05 - 函数基础
数据结构·算法·数据库架构·05 - 函数基础