LeetCode/cs/maximum-subsequence-score.cs
Matej Focko 45acbc38cf
cs: add «2542. Maximum Subsequence Score»
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-08-10 22:40:07 +02:00

20 lines
575 B
C#

using System.Collections.Generic;
public class Solution {
public long MaxScore(int[] nums1, int[] nums2, int k) {
long prefixSum = 0, maxScore = 0;
var heap = new PriorityQueue<int, int>();
foreach (var (num, mult) in nums1.Zip(nums2).OrderBy(key => key.Second).Reverse()) {
prefixSum += num;
heap.Enqueue(num, num);
if (heap.Count == k) {
maxScore = Math.Max(maxScore, prefixSum * mult);
prefixSum -= heap.Dequeue();
}
}
return maxScore;
}
}