5359. 最大的團隊表現(xiàn)值
公司有編號為 1?到 n?的 n?個工程師斤吐,給你兩個數(shù)組 speed?和 efficiency?怪得,其中 speed[i]?和 efficiency[i]?分別代表第 i?位工程師的速度和效率顽爹。請你返回由最多?k?個工程師組成的???????最大團隊表現(xiàn)值?归苍,由于答案可能很大只恨,請你返回結(jié)果對 10^9 + 7 取余后的結(jié)果。
團隊表現(xiàn)值?的定義為:一個團隊中「所有工程師速度的和」乘以他們「效率值中的最小值」卖子。
from?queue?import?PriorityQueue
class?Solution:
????def?maxPerformance(self,?n:?int,?speed:?List[int],?efficiency:?List[int],?k:?int)?->?int:
????????arr?=?[(speed[i],?efficiency[i])?for?i?in?range(n)]
????????arr.sort(key=lambda?item:item[1],?reverse=True)
????????pq?=?PriorityQueue()
????????sumk?=?0
????????res?=?0
????????MOD?=?10**9?+?7
????????for?i?in?range(n):
????????????pq.put(arr[i][0])
????????????sumk?+=?arr[i][0]
????????????if?pq.qsize()?>?k:
????????????????sumk?-=?pq.get()
? ? ? ? ? ? #若包含arr[i]則tempt為團隊值略号,如果不包含則tempt < res
????????????tempt?=?sumk?*?arr[i][1]
????????????if?tempt?>?res:
????????????????res?=?tempt
????????return?res?%?MOD