1 条题解

  • 0
    @ 2026-5-2 13:21:57

    P9761 [ROIR 2021 Day 1] 两台机器

    机器,启动!

    题目分析

    发现种类并不多,所以可以分成五类讨论:

    1. 机器都不启动,此时 ans=0ans=0
    2. 只启动第一台机器,此时 ans=x(ka)ans=x(k-a)
    3. 只启动第二台机器,此时 ans=y(kb)ans=y(k-b)
    4. 先启动第一台机器,再启动第二台机器,此时 ans=x(ka)+y(kab)ans=x(k-a)+y(k-a-b)
    5. 先启动第二台机器,再启动第一台机器,此时 ans=x(kab)+y(kb)ans=x(k-a-b)+y(k-b)

    这道题就做完了。

    完整代码

    #include <bits/stdc++.h>
    using namespace std;
    
    long long k, a, x, b, y;
    
    int main() {
        scanf("%lld %lld %lld %lld %lld", &k, &a, &x, &b, &y);
        
        long long ans = 0;
        
        ans = max((k - a) * x + (k - a - b) * y, ans);
        ans = max((k - a - b) * x + (k - b) * y, ans);
        ans = max((k - a) * x, ans);
        ans = max((k - b) * y, ans);
        
        printf("%lld", ans);
        return 0;
    }
    
    • 1

    信息

    ID
    10276
    时间
    1000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    2
    已通过
    2
    上传者