BISHI53 [P1080] 国王游戏(简化版)


流程图

求解代码

java 复制代码
static class Minister{
        long a;
        long b;

        Minister(long a,long b){
            this.a = a;
            this.b = b;
        }
    }


    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().trim());

        String[] str = br.readLine().trim().split("\\s+");

        long a0 = Long.parseLong(str[0]);

        Minister[] ministers = new Minister[n];
        for(int i=0;i<n;i++){
            String[] ministerStr = br.readLine().trim().split("\\s+");
            long a = Long.parseLong(ministerStr[0]);
            long b = Long.parseLong(ministerStr[1]);

            ministers[i]=new Minister(a, b);

        }

        Arrays.sort(ministers,(x,y)->Long.compare(x.a*x.b, y.a*y.b));

        // 计算最大金币数
        long maxCoin = 0;
        long productA = a0; // 前序左手数的乘积(初始为国王的a0)
        for (Minister m : ministers) {
            // 当前大臣的金币数 = 前序乘积 / 当前b
            long coin = productA / m.b;
            // 更新最大金币数
            if (coin > maxCoin) {
                maxCoin = coin;
            }
            // 前序乘积 *= 当前大臣的a
            productA *= m.a;
        }

        out.println(maxCoin);
        out.flush();
        out.close();
        br.close();
    }
相关推荐
小孔龙几秒前
AndroidManifest.xml 配置速查手册
android
Gauss松鼠会1 分钟前
【GaussDB】基于SpringBoot实现操作GaussDB(DWS)的项目实战
java·数据库·经验分享·spring boot·后端·sql·gaussdb
Gauss松鼠会6 分钟前
【GaussDB】GaussDB 常见问题及解决方案汇总
java·数据库·算法·性能优化·gaussdb·经验总结
xiaogg36789 分钟前
k8s 部署yaml文件和Dockerfile文件配置
java·docker·kubernetes
七牛云行业应用11 分钟前
OpenAI Codex手机版上线实战:iOS/Android 5步配置远程控制指南(2026)
android·ios·智能手机
砍材农夫11 分钟前
物联网 基于netty构建mqtt协议规范(发布/订阅模式)
java·开发语言·物联网·netty
techdashen12 分钟前
Rust 泛型 vs Java 泛型:它们看起来相似,但骨子里截然不同
java·开发语言·rust
背包客(wyq)15 分钟前
YOLO手势检测识别模型Android端部署测试
android·yolo
人道领域20 分钟前
【LeetCode刷题日记】106.从遍历序列重建二叉树:手撕递归边界,彻底搞懂左闭右闭 vs 左闭右开
java·算法·leetcode