网易2016研发工程师编程题 奖学金(python)


Posted in Python onJune 19, 2019

本文为大家分享了网易2016研发工程师编程题,供大家参考,具体内容如下

'''
[编程题] 奖学金
时间限制:1秒
空间限制:32768K
小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。
每门课由平时成绩和考试成绩组成,满分为r。现在他知道每门课的平时成绩为ai ,
若想让这门课的考试成绩多拿一分的话,小v要花bi 的时间复习,不复习的话当然就是0分。
同时我们显然可以发现复习得再多也不会拿到超过满分的分数。为了拿到奖学金,小v至少要花多少时间复习。

输入描述:

第一行三个整数n,r,avg(n大于等于1小于等于1e5,r大于等于1小于等于1e9,avg大于等于1小于等于1e6),
接下来n行,每行两个整数ai和bi,均小于等于1e6大于等于1

输出描述:

一行输出答案。

输入例子1:

5 10 9
0 5
9 1
8 1
0 1
9 100

输出例子1:

43

'''

'''
解题思路:排序
  先把平均成绩ai和复习时间bi放入ab_i中,然后把ab_i按照bi从小到大的顺序排序
  然后1、求出所需要的总分(n*avg)  2、求出平均成绩的总和;如果平均成绩的总和已经大于了所需总分,则输出0,否则:
  按顺序访问ab_i,如果ab_i中当前科目的平均分已经到达满分,则访问下一个科目,否则的话给当前科目平均分加1,当前的总分加1,消耗时间加上该科目获取1分的复习时间。
  直至当前的总分等于目标总分后输出所耗费的时间。
'''

'''
代码运行结果:
答案正确:恭喜!您提交的程序通过了所有的测试用例
'''

while True:
 try:
  n, r, avg = [int(each) for each in input().split()]
  ab_i = []
  for i in range(n):
   ab_i.append([int(each) for each in input().split()])
 
  ab_i = sorted(ab_i, key=lambda x: x[1])
 
  target = n * avg
  current = sum([each[0] for each in ab_i])
  time_total = 0
  if current < target:
   index = 0
   while current < target:
    while ab_i[index][0] >= r:
     index += 1
    time_total += ab_i[index][1]
    ab_i[index][0] += 1
    current += 1
   print(time_total)
  else:
   print(0)
 except:
  break

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之开始真正编程
Sep 12 Python
python通过smpt发送邮件的方法
Apr 30 Python
详解Python中的变量及其命名和打印
Mar 11 Python
python类中super()和__init__()的区别
Oct 18 Python
对Python3中bytes和HexStr之间的转换详解
Dec 04 Python
Python设计模式之状态模式原理与用法详解
Jan 15 Python
python实现超市商品销售管理系统
Oct 25 Python
Python函数生成器原理及使用详解
Mar 12 Python
浅析python标准库中的glob
Mar 13 Python
Django model重写save方法及update踩坑详解
Jul 27 Python
pycharm如何使用anaconda中的各种包(操作步骤)
Jul 31 Python
python 解决微分方程的操作(数值解法)
May 26 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
Jun 19 #Python
python调用动态链接库的基本过程详解
Jun 19 #Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
Jun 19 #Python
华为校园招聘上机笔试题 扑克牌大小(python)
Apr 22 #Python
PyQt5实现从主窗口打开子窗口的方法
Jun 19 #Python
python操作kafka实践的示例代码
Jun 19 #Python
利用pyuic5将ui文件转换为py文件的方法
Jun 19 #Python
You might like
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
jQuery操作 input type=checkbox的实现代码
2012/06/14 Javascript
JS动态调用方法名示例介绍
2013/12/18 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
JavaScript中的setMilliseconds()方法使用详解
2015/06/11 Javascript
原生js配合cookie制作保存路径的拖拽
2015/12/29 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
详解如何制作并发布一个vue的组件的npm包
2018/11/10 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
react实现移动端下拉菜单的示例代码
2020/01/16 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
ES6新增的数组知识实例小结
2020/05/23 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
python实现内存监控系统
2021/03/07 Python
python实现蒙特卡罗方法教程
2019/01/28 Python
python实现PID算法及测试的例子
2019/08/08 Python
python编写俄罗斯方块
2020/03/13 Python
python与js主要区别点总结
2020/09/13 Python
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
上班睡觉检讨书
2014/01/09 职场文书
市场营销毕业生自荐信范文
2014/04/01 职场文书
岗位职责说明书
2014/05/07 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
刘公岛导游词
2015/02/05 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
2015年高一班主任工作总结
2015/05/13 职场文书
边城读书笔记
2015/06/29 职场文书
宿舍卫生管理制度
2015/08/05 职场文书