码迷,mamicode.com
首页 > 其他好文 > 详细

[ZOJ 3778] Talented Chef

时间:2019-05-01 13:43:27      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:print   name   pre   return   class   ref   最大   printf   定时   

题目链接: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

标签:print   name   pre   return   class   ref   最大   printf   定时   

原文地址:https://www.cnblogs.com/youpeng/p/10799568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!