NXUOJ(ds二次考试编程复现) A2:干饭1

这是一道关于优化食堂排队时间的算法题,目标是通过排序,确保每个人打饭时间最短,从而减少总体等待时间。题目提供样例输入输出,并指出解决方案在于将打饭时间升序排序,依次分配窗口,以此实现时间的最小化。
摘要由CSDN通过智能技术生成

题目描述:
干饭人干饭魂干饭人吃饭得用盆。干饭人有精神吃饱了都进不去门。
每天中午下课,食堂里就会挤满各种各样的干饭人。已知学院食堂里有t个打饭窗口,有n个人排队到去打饭,他们打饭时间t1、t2…………tn为整数且各不相等,应如何安排他们的顺序才能使他们总共花费的时间最少?

输入:
第一行为两个整数,n和t ,用空格隔开,(n< =500t< =75)
第二行为n个人打饭所用的时间Ti (Ti< =100);

输出:
最少的花费时间

样例输入
3 2
1 2 3

样例输出:
7

样例示意图:
在这里插入图片描述
题目思路:
不要把这题想得太复杂,就是日常生活中如何安排排队,使得花费的总时间最少。由题意易知,把时间花费少的人排在前面,后面的人等待时间就少,因此只要先将n个人的打饭时间升序排序,然后一排一排排列即可。

参考代码:

#include <stdio.h>
#include <stdlib.h>

#define MAX1 501
#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值