DJI
文章首发于公众号”面鲸“,更多思路以及解法欢迎关注公众号!后台回复“联系”可添加小编微信加入面试笔试刷题交流群哦~
第一题
假设小杰有N个bug没有修,他每喝一杯咖啡(喝咖啡时间忽略不计),就给自己一个小时内的debug效率提升到原来的A倍,一小时内重复喝没用,最多只能喝X杯,喝太多了晚上会睡不着,并且为了可持续发展,每天最多只能工作X个小时,而在没喝咖啡的情况下解决每个bug所需要的时间为 t 1 , t 2 , . . . , t N t_1,t_2,...,t_N t1,t2,...,tN分钟。
现在是早上8点,小杰马上要开始一天的工作了,他计划按从1-N的顺序修复他头上的这些bug,你能帮他计算出他今天能在8小时内修完所有的bug么?如果能,最少需要多少时间?
输入描述
第一行三个整数N A X (1<=N<=100, 1<=A<=8, 1<=X<=8)
输出描述
输出一个数字T,如果不能解完所有的bug,则输出0,否则输出最少的分钟数。(T为正整数,如果不满一分钟则按一分钟计算,一旦超过8小时则认为不能解决,所以T最大为480)。
样例输入
- 8 2 8
- 60
- 60
- 60
- 60
- 60
- 60
- 60
- 60
样例输出
- 240
样例输入
- 4 3 3
- 333
- 77
- 100
- 13
样例输出
- 175
分析
- 要最快地解决问题,当然是码足马力喝完X杯咖啡。
- 喝完X杯咖啡之后,最多能完成的工作量是之前 A ∗ X ∗ 60 A*X*60 A∗X∗