【题解】NC219035 春游(模拟 - 分情况讨论)

https://ac.nowcoder.com/acm/problem/219035

cpp 复制代码
#include <iostream>

using namespace std;
long long typedef LL;

LL fun(LL n, LL a, LL b) {
    if (n <= 2) return min(a, b);
    
    LL ret = 0;
    
    if (a * 3 < b * 2) // 尽可能选择双人船 
    {
        ret += n / 2 * a;
        n %= 2;
        if(n) ret += min(min(a, b), b - a);
    }
    else // 尽可能选择三人船
    {
        ret += n / 3 * b;
        n %= 3;
        if (n == 1) ret += min(min(a, b), 2*a - b);
        else if (n == 2) ret += min(min(a, b), 3*a - b);
    }
    return ret;
}

int main()
{
    int t;
    cin >> t;
    while (t--) {
        LL n, a, b;
        cin >> n >> a >> b;
        cout << fun(n, a, b) << endl;
    }
    
    return 0;
}
相关推荐
杜 硕16 分钟前
从零开始的C++生活——第六讲——01
开发语言·c++·生活
Js.Tx1 小时前
【具体数学 Concrete Mathematics】2.1.5 一般性的方法
算法·具体数学
Risehuxyc2 小时前
C++(VS2026)使用Ncap库的配置
c++
秋天的怀念_David3 小时前
算法一千零一夜 · 作品相关:版权与致谢声明
程序人生·算法·学习方法
4ever.ov03 小时前
精学C++第一站 从命名空间到引用:C++入门核心语法全梳理(13000字长文)
开发语言·c++·clion
揽星河..3 小时前
【C语言】数组
c语言·开发语言·算法
careathers3 小时前
【数据结构】基于比较的排序算法 - 选择排序
数据结构·算法·排序算法
听风若依3 小时前
C++模板初阶
c++·算法
纪念 2294 小时前
C++ 算法(模拟)
开发语言·c++·算法
揽星河..4 小时前
【C语言】函数
c语言·算法