题目描述:

众所周知,美团外卖的口号是:”美团外卖,送啥都快”。身着黄色工作服的骑手作为外卖业务中商家和客户的重要纽带,在工作中,以快速送餐突出业务能力;工作之余,他们会通过玩智力游戏消遣闲暇时光,以反应速度彰显智慧,每位骑手拿出装有货物的保温箱,参赛选手需在最短的时间内用最少的保温箱将货物装好。

我们把问题简单描述一下:

1 每个货物占用空间都一模一样

2 外卖小哥保温箱的最大容量是不一样的,每个保温箱由两个值描述: 保温箱的最大容量 bi ,当前已有货物个数 ai ,(ai<=bi)

3 货物转移的时候,不必一次性全部转移,每转移一件货物需要花费 1秒 的时间

测试示例:

输入描述:

第一行包含n个正整数(1<=n<=100)表示保温箱的数量

第二行有n个正整数a1,a2,…,an(1<=ai<=100)

ai表示第i个保温箱的已有货物个数

第三行有n个正整数b1,b2,…,bn(1<=bi<=100),bi表示第i个保温箱的最大容量

显然,每一个ai<=bi

输出描述:

输出为两个整数k和t, k表示能容纳所有货物的保温箱的最少个数,t表示将所有货物转移到这k个保温箱所花费的最少时间,单位为秒.

输入示例:

4

3 3 4 3

4 7 6 5

输出示例:

2 6

题目分析:

很简单的一道题,关键是将对应的a和b组成元组,随后按照b为key对这些元组进行降序排列,其中前k个b相加刚好大于sum(ai)时的就是所求的k,而后面的保温箱中的外卖都是需要转移到前面的保温箱中,因此对k+1到N个保温箱中的外卖求和便可得到所用的时间

python实现代码:

import sys

while True:

n = int(sys.stdin.readline().strip())

f = [int(x) for x in sys.stdin.readline().strip().split()]

r = [int(x) for x in sys.stdin.readline().strip().split()]

x = list(zip(f, r))

x.sort(key=lambda x: x[1], reverse=True)

print(x)

total_f = sum(f)

temp = 0

k = 0

t = 0

for i in range(n):

temp = temp + x[i][1]

k += 1

if temp >= total_f:

break # 得到最少的外卖盒箱k,但是此时的时间不一定是最少的

for i in range(k, n):

t += x[i][0]

for i in range(n, -1+k, -1): # 得到外卖份数最多的k个外卖箱,且这k个外卖箱的容量满足需求

temp_f, temp_t = 0, 0

for j in range(i - k, i):

temp_f += x[j][1]

temp_t += x[j][0]

print('temp_t', temp_t)

if temp_f >= total_f:

tt = total_f - temp_t

t = tt if t > tt else t

sys.stdout.write('%d %d'%(k, t))

~~~

美团小哥用计算机,美团2020算法工程师编程题--外卖小哥的保温箱相关推荐

  1. 美团点评2020校招算法工程师编程题--工作安排--动态规划

    题目描述: 小美是团队的负责人,需要为团队制定工作的计划,以帮助团队产出最大的价值. 每周团队都会有两项候选的任务,其中一项为简单任务,一项为复杂任务,两项任务都能在一周内完成.第i周,团队完成简单任 ...

  2. 阿里巴巴2018校园招聘运筹优化算法工程师编程题

    对于考试向来都是后知后觉,过后留下一堆不甘与遗憾--然而不行就是不行,再接再厉. 声明:涉及阿里校招笔试,如有侵权,请联系我删除. 一.带信号灯的最短路问题 1. 题目描述 现在城市有N个路口,每个路 ...

  3. 二级c语言编程题只要得出答案,计算机二级C语言考试编程题题库答案.docx

    计算机二级C语言考试编程题题库答案 1.求100之内自然数中最大的能被17整除的数.void main(){ int i;for(i=100;i>0;i--)if(i%17==0)break;p ...

  4. 拼多多2020校招部分编程题

    文章目录 拼多多2020校招部分编程题 多多的排列函数 canci 拼多多2020校招部分编程题 #include <iostream> using namespace std; int ...

  5. 计算机二级c语言求水仙花数和完数,预测江苏省高校计算机二级C考试上机编程题之二特殊数张柏雄.doc...

    预测江苏省高校计算机二级C考试上机编程题之二特殊数张柏雄 内容 一.特殊数:素数平方是各位数不相同的数 二.495三位陷阱数 三.可分解的整数 四.闰年计算题 五.数制变换题 六.水仙花数题 七.亲密 ...

  6. 计算机二级c必考编程题6,计算机二级c上机编程题

    计算机二级c语言上机编程题技巧分析 二级C语言上机编程题技巧 一.方法总结 1. 二级C语言上机编程题在二级上机考试中属于较难题型,因此很多同学都害怕通过不了.综合往年的考试,结合考试大纲,每年考试的 ...

  7. 美团小哥用计算机,美团回应大V与美团小哥争议一事:鲁莽不会让世界变好!...

    [PConline资讯]6月24日消息 6月23日,一段知名博主怒斥外卖小哥视频被曝光.视频显示,疑因车辆被剐蹭,一女子对一送餐员严厉训斥. 23日晚该博主发文称,事发今年3月,当时同事正常行驶与突然 ...

  8. 算法工程师属于计算机哪个领域,算法工程师、数据研发工程师,数据挖掘工程师的区别是什么?...

    算法工程师: 专业要求:计算机.电子.通信.数学等相关专业: 学历要求:本科及其以上的学历,大多数是硕士学历及其以上: 语言要求:英语要求是熟练,基本上能阅读国外专业书刊: 必须掌握计算机相关知识,熟 ...

  9. 股票交易日(动态规划)----美团2016研发工程师编程题(二)

    [编程题] 股票交易日 在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于2),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行).给出一天中的股票变化序列,请写一个程序计算 ...

最新文章

  1. java通过代理访问网络
  2. 解题报告(十三)中国剩余定理(ACM / OI)
  3. gitlab上传文件到group_gitlab恢复备份数据
  4. hive表指定分区字段搜索_Spark SQL解析查询parquet格式Hive表获取分区字段和查询条件...
  5. [Alfred]为Baidu Weather Workflow更新图标
  6. es常用curl命令
  7. AT4378-[AGC027D]ModuloMatrix【构造】
  8. 20个MySQL高性能架构设计原则(收藏版)
  9. excel甘特图模板_最简单的Excel甘特图制作方法,只用一条公式,项目进度一目了然...
  10. Android动画效果
  11. 基于tensorflow 1.x 的bert系列预训练模型工具
  12. labelme批量json_to_dataset转换
  13. mysql update 几万 非常慢_MySQL慢日志这样分析才够味
  14. pthread_attr详解
  15. 力扣第39题dfsdfs(respathtarget-candidates[1]i)#调用递归,组成目标的 i 可以重复用,不用i+1,def dfsdfs(resres,pathtarget,ind
  16. 为什么DDOS攻击是服务器的最大危害?
  17. Symbol Factory Universal v3.X 工业图形库
  18. Arduino ESP8266/ESP32读取和改写MAC
  19. 大计基笔记(1)数学运算
  20. C++学习记录:派生类向基类转换及其可访问性

热门文章

  1. python操作pdf——pdfplumber/PyPDF2
  2. 搭档之家:李佳琦“双11”直播最低价,还是贵了?
  3. tomca的用户设置
  4. html做相册浏览,ul结合CSS制作网页相册滑动浏览效果
  5. Check It Again: Progressive Visual Question Answering via Visual Entailment
  6. vue使用html2canvas jspdf实现pdf下载导出功能
  7. 解读WPF中的Binding
  8. Docker 大势已去,Podman 即将崛起
  9. C语言关闭终端回显【转】
  10. 礼物帮手-论文(不全)