[ZOJ 3778] Talented Chef

Posted youpeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ZOJ 3778] Talented Chef相关的知识,希望对你有一定的参考价值。

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5265

想多了
如果m >= n,肯定时n个dish中用时最多的
如果m < n,计算一下平均用时,即ave = sum / m,注意除不尽加1,然后和这n个dish中最大的值比较,如果ave小于最大的,那么用时为最大的,否则为ave。

AC代码:

#include <cstdio>

using namespace std;

int test;
int n, m;
int x;
long long sum;
long long maxn;

int main() {
    scanf("%d", &test);
    while (test--) {
        sum = 0;
        maxn = -1;
        scanf("%d%d", &n, &m);
        for (int i = 0; i < n; i++) {
            scanf("%d", &x);
            sum += x;
            if (maxn < x) {
                maxn = x;
            }
        }
        if (n <= m) {
            printf("%lld\n", maxn);
        } else {
            long long ave = sum / m;
            if (sum % m) {
                ave += 1;
            }
            if (ave < maxn) {
                printf("%lld\n", maxn);
            } else {
                printf("%lld\n", ave);
            }
        }
    }
    return 0;
}

以上是关于[ZOJ 3778] Talented Chef的主要内容,如果未能解决你的问题,请参考以下文章

题解 ZOJ3203 Light Bulb

[zoj] 3229 Shoot the Bullet || 有源汇上下界最大流

bzoj 3778: 共鸣计算几何+dp

luogu3778/bzoj4898 商旅 (floyd+分数规划+spfa)

如何卸载 chef-client 和整个 Chef 包

DevOps 自动化运维工具Chef