【题解】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;
}
相关推荐
郝学胜-神的一滴几秒前
C++20模板元编程 01:从零吃透模板核心底层逻辑
开发语言·c++·vscode·程序人生·开源
kevin_kang3 分钟前
第05章 实时语音识别的 ASR 原理
算法
kevin_kang4 分钟前
第04章 断句原理:本地 VAD 与神经网络 VAD
算法
kevin_kang14 分钟前
第06章 文字转语音的 TTS 原理
算法
6Hzlia17 分钟前
【Classic 150 刷题计划】 LeetCode 123. 买卖股票的最佳时机 III | C++ 状态机动态规划与通用交易拓展
c++·算法·leetcode
luj_176832 分钟前
生物体如何应对功能击穿?
c语言·开发语言·c++·经验分享·算法
luj_176835 分钟前
击穿分析五大关键步骤
开发语言·网络·c++·经验分享·算法
小王C语言37 分钟前
cmake教程
c++·cmake
星空41 分钟前
Map<String, String>`Map`是接口,不能直接 new
java·前端·算法
安大小万44 分钟前
蓝桥杯Dev-C++ 5.11(编译器)使用细节排坑
c++