網(wǎng)易2016研發(fā)工程師編程題 獎學(xué)金(python)
本文為大家分享了網(wǎng)易2016研發(fā)工程師編程題,供大家參考,具體內(nèi)容如下
'''
[編程題] 獎學(xué)金
時間限制:1秒
空間限制:32768K
小v今年有n門課,每門都有考試,為了拿到獎學(xué)金,小v必須讓自己的平均成績至少為avg。
每門課由平時成績和考試成績組成,滿分為r?,F(xiàn)在他知道每門課的平時成績?yōu)閍i ,
若想讓這門課的考試成績多拿一分的話,小v要花bi 的時間復(fù)習(xí),不復(fù)習(xí)的話當然就是0分。
同時我們顯然可以發(fā)現(xiàn)復(fù)習(xí)得再多也不會拿到超過滿分的分數(shù)。為了拿到獎學(xué)金,小v至少要花多少時間復(fù)習(xí)。
輸入描述:
第一行三個整數(shù)n,r,avg(n大于等于1小于等于1e5,r大于等于1小于等于1e9,avg大于等于1小于等于1e6),
接下來n行,每行兩個整數(shù)ai和bi,均小于等于1e6大于等于1
輸出描述:
一行輸出答案。
輸入例子1:
5 10 9
0 5
9 1
8 1
0 1
9 100
輸出例子1:
43
'''
'''
解題思路:排序
先把平均成績ai和復(fù)習(xí)時間bi放入ab_i中,然后把ab_i按照bi從小到大的順序排序
然后1、求出所需要的總分(n*avg) 2、求出平均成績的總和;如果平均成績的總和已經(jīng)大于了所需總分,則輸出0,否則:
按順序訪問ab_i,如果ab_i中當前科目的平均分已經(jīng)到達滿分,則訪問下一個科目,否則的話給當前科目平均分加1,當前的總分加1,消耗時間加上該科目獲取1分的復(fù)習(xí)時間。
直至當前的總分等于目標總分后輸出所耗費的時間。
'''
'''
代碼運行結(jié)果:
答案正確:恭喜!您提交的程序通過了所有的測試用例
'''
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
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用email模塊對郵件進行編碼和解碼的實例教程
Python中我們一般使用SMTP模塊來首發(fā)郵件,而用email模塊來處理郵件編碼,本文我們就來詳細看一下Python使用email模塊對郵件進行編碼和解碼的實例教程,需要的朋友可以參考下2016-07-07Python使用Beautiful Soup實現(xiàn)解析網(wǎng)頁
在這篇文章中,我們將介紹如何使用 Python 編寫一個簡單的網(wǎng)絡(luò)爬蟲,以獲取并解析網(wǎng)頁內(nèi)容。我們將使用 Beautiful Soup 庫,它是一個非常強大的庫,用于解析和操作 HTML 和 XML 文檔。讓我們開始吧2023-05-05Softmax函數(shù)原理及Python實現(xiàn)過程解析
這篇文章主要介紹了Softmax函數(shù)原理及Python實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05Python無法安裝包的一種解決(Requirement already satisfied問題)
這篇文章主要介紹了Python無法安裝包的一種解決(Requirement already satisfied問題),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08