网易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 相关文章推荐
Python3基础之基本运算符概述
Aug 13 Python
python自然语言编码转换模块codecs介绍
Apr 08 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
教你使用python画一朵花送女朋友
Mar 29 Python
十分钟利用Python制作属于你自己的个性logo
May 07 Python
flask中的wtforms使用方法
Jul 21 Python
Python字典生成式、集合生成式、生成器用法实例分析
Jan 07 Python
pyspark给dataframe增加新的一列的实现示例
Apr 24 Python
python如何写出表白程序
Jun 01 Python
解决keras模型保存h5文件提示无此目录问题
Jul 01 Python
公认8个效率最高的爬虫框架
Jul 28 Python
python通过opencv调用摄像头操作实例分析
Jun 07 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代码保护--Zend Guard的使用详解
2013/06/03 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
php生成mysql的数据字典
2016/07/07 PHP
PHP序列化操作方法分析
2016/09/28 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
jQuery实现三级联动效果
2017/03/02 Javascript
使用vue-infinite-scroll实现无限滚动效果
2018/06/22 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
2018/08/11 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
python实现TF-IDF算法解析
2018/01/02 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
python实现代码统计器
2019/09/19 Python
python 变量初始化空列表的例子
2019/11/28 Python
Tensorflow累加的实现案例
2020/02/05 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
Django日志及中间件模块应用案例
2020/09/10 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
公司会计岗位职责
2014/02/13 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python