题解 | 小红闯关

小红闯关

https://www.nowcoder.com/practice/7ce4b75f7a304be481e73bc4dd2705a4

贪心

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n=in.nextInt();
        int k=in.nextInt();
        int[] a=new int[n];
        long totalTime=0;
        for(int i=0;i<n;i++){
            a[i]=in.nextInt();
            totalTime+=a[i];
        }
        PriorityQueue<Integer> pq=new PriorityQueue<>(Collections.reverseOrder());
        long savedTime=0;
        for(int i=n-1;i>=0;i--){
            if((i+1)%k==0&&!pq.isEmpty()){
                savedTime+=pq.poll();
            }
            pq.add(a[i]);
        }
        System.out.println(totalTime-savedTime);

    }
}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务