YTU.1743: 多处最优服务次序问题

来源:互联网 发布:英雄联盟官方代练 知乎 编辑:程序博客网 时间:2024/06/04 01:25

1743: 多处最优服务次序问题

时间限制: 1 Sec  内存限制: 64 MB
提交: 92  解决: 17
[提交][状态][讨论版]

题目描述

设有n 个顾客同时等待一项服务。顾客i需要的服务时间为t i,1≤i≤n。共有s处可以提供此项服务。应如何安排n 个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n 个顾客等待服务时间的总和除以n。

对于给定的n 个顾客需要的服务时间和s的值,计算最优服务次序。

输入

输入数据的第一行有2 个正整数n (n≤10000)和s(s≤1000),表示有n 个顾客且有s 处可以提供顾客需要的服务。接下来的1 行中,有n个正整数,表示n个顾客需要的服务时间。

输出

输出数据只有一个整数(计算结果四舍五入),表示计算出的最小平均等待时间。

样例输入

10 256 12 1 99 1000 234 33 55 99 812

样例输出

336

分析:看到题目,立马想到前些天做的一道排队打水问题,和这个一样,于是按照那个做法来做这道题,可是答案与样例相差甚远,这到底是为什么呢,两个题目描述没任何差别啊,最后靠着数据猜到这个问题需要加上自身的时间,而上次那道题则不需要,应该是题目描述的不严谨,有歧义

#include <iostream>#include <algorithm>using namespace std;    int a[10001],b[10001];int main(){    int ans;    float sum=0;    int n,m;    cin>>n>>m;    for(int i=0; i<n; i++)        cin>>a[i];    sort(a,a+n);    for(int i=0; i<m; i++)        b[i]=a[i];    for(int j=m; j<n; j++)        b[j]=b[j-m]+a[j];          //每个人所花费的是时间=前面人所用的时间+自己所用的时间    for(int i=0; i<n; i++)        sum+=b[i];        sum=sum/n;        ans=(int)(sum*10+5)/10;        //四舍五入    cout << ans<< endl;    return 0;}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 老公婚前买的房子婆婆想霸占怎么办 我想查我的基金收益情况怎么办 儿童票买好了但大人退票了怎么办 没有享受到国家政策的农民怎么办? 股票涨了没抛然后一直跌怎么办 苹果手机放久了开不了机怎么办 部门要辞退你你不想走该怎么办 口头说辞职现在又不想走了怎么办 网上买的理财不给退本金怎么办 买东西遇到态度不好的人你会怎么办 app在下载东西时被停用了怎么办 买东西填错地址 但已签收怎么办 网购手机受骗后电话打不通怎么办 淘宝买的东西发错了怎么办 淘宝上买的东西发错了怎么办 淘宝上买的东西发多了怎么办 淘宝上买的东西出现问题怎么办 淘宝买东西未收到货显示签收怎么办 网上一张车票两人同时付款了怎么办 微信付款时显示银行卡被锁定怎么办 微信忘记支付密码怎么办没有银行卡 支付宝赏金扫码支付不行怎么办 网购收货时发现货物已破损怎么办 货物丢失了不承认调查出来了怎么办 小米商城已签收未收到了怎么办 网购的一只荷兰猪现在怎么办 中通快递的掌中通好评怎么办 唯品会快递被签收却没收到货怎么办 拼多多快递签收了但没收到货怎么办 顺丰代收签收成功要强制退款怎么办 淘宝付了钱如果商家没货了怎么办 别人拿走我的货不给钱怎么办 快递出途中损坏签单后才发现怎么办 顾客支付宝少付了钱人走了怎么办 顾客通过收钱码付的钱少了怎么办 寄顺丰快递收件人号码填错了怎么办 京东退货售后说是有划痕怎么办 手机上快递员软件签收错了怎么办 苹果手机进网许可证丢了怎么办 作废的普票发票联丢失怎么办 想退换货但是发票丢了怎么办