题解 | #春游#

春游

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

思路

贪心

过程

alt

代码

#include <iostream>
#include <climits>

using namespace std;

typedef long long LL;

LL t, n, a, b;

int main()
{
    cin >> t;
    while(t --)
    {
        cin >> n >> a >> b;
        if(n <= 2) cout << min(a, b) << endl;
        else
        {
            LL ans = 0;
            if(3 * a < 2 * b) // 优选选择2人船
            {
                if(n % 2) ans = (n / 2 - 1) * a + min(2 * a, b);
                else ans = n / 2 * a;
            }
            else // 优先选择3人船
            {
                if(n % 3 == 1) ans = (n / 3 - 1) * b + min(a + b, min(2 * b, 2 * a));
                else if(n % 3 == 2) ans = (n / 3 - 1) * b + min(a + b, min(2 * b, 3 * a));
                else ans = n / 3 * b;
            }
            cout << ans << endl;
        }
    }
    return 0;
}
全部评论

相关推荐

点赞 评论 收藏
分享
06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
牛客84809583...:举报了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务