中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

網易2016研發工程師編程題 獎學金(python)

發布時間:2020-10-09 18:23:09 來源:腳本之家 閱讀:169 作者:ChrisMinions 欄目:開發技術

本文為大家分享了網易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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太谷县| 酒泉市| 平度市| 洪泽县| 重庆市| 新巴尔虎左旗| 滨海县| 游戏| 临夏市| 丰顺县| 兰州市| 天门市| 克东县| 林周县| 辽中县| 蒲江县| 莫力| 怀宁县| 罗定市| 库伦旗| 湖南省| 特克斯县| 阳山县| 平泉县| 中阳县| 张家川| 祁阳县| 延津县| 乐昌市| 松江区| 宝清县| 正宁县| 九龙坡区| 南昌市| 万荣县| 拜城县| 渝中区| 淳安县| 昭苏县| 库伦旗| 平原县|