网易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类的多重继承问题深入分析
Nov 09 Python
Python的dict字典结构操作方法学习笔记
May 07 Python
Python3使用PyQt5制作简单的画板/手写板实例
Oct 19 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
Jun 19 Python
wxPython实现绘图小例子
Nov 19 Python
PyQT5 emit 和 connect的用法详解
Dec 13 Python
python 经典数字滤波实例
Dec 16 Python
python 实现将list转成字符串,中间用空格隔开
Dec 25 Python
基于python实现查询ip地址来源
Jun 02 Python
Python Unittest原理及基本使用方法
Nov 06 Python
Python中全局变量和局部变量的理解与区别
Feb 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实现无限级分类实现代码(递归方法)
2011/01/01 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
PHP对XML内容进行修改和删除实例代码
2016/10/26 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
拖动布局之保存布局页面cookies篇
2010/10/29 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
编写高效jQuery代码的4个原则和5个技巧
2014/04/24 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
JS实现复制功能
2017/03/01 Javascript
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
vue.js使用3DES加密的方法示例
2018/05/18 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
js制作提示框插件
2020/12/24 Javascript
Python实现获取网站PR及百度权重
2015/01/21 Python
Python遍历指定文件及文件夹的方法
2015/05/09 Python
python 函数的缺省参数使用注意事项分析
2019/09/17 Python
下载官网python并安装的步骤详解
2019/10/12 Python
如何在django中实现分页功能
2020/04/22 Python
Python参数传递机制传值和传引用原理详解
2020/05/22 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
Python实现手绘图效果实例分享
2020/07/22 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
AmazeUI在模态框中嵌入表单形成模态输入框
2020/08/20 HTML / CSS
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
二年级体育教学反思
2014/01/15 职场文书
大学生学期自我鉴定
2014/03/19 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
小学入学感言
2015/08/01 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
Django实现WebSocket在线聊天室功能(channels库)
2021/09/25 Python
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js
Apache Pulsar结合Hudi构建Lakehouse方案分析
2022/03/31 Servers