当前位置: 首页 > news >正文

2023-1-18刷题情况

智力大冲浪

题目描述

小伟报名参加中央电视台的智力大冲浪节目。本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者 m m m 元。先不要太高兴,因为这些钱还不一定都是你的。接下来主持人宣布了比赛规则:

首先,比赛时间分为 n n n 个时段,它又给出了很多小游戏,每个小游戏都必须在规定期限 t i t_i ti 前完成。如果一个游戏没能在规定期限前完成,则要从奖励费 m m m 元中扣去一部分钱 w i w_i wi w i w_i wi 为自然数,不同的游戏扣去的钱是不一样的。当然,每个游戏本身都很简单,保证每个参赛者都能在一个时段内完成,而且都必须从整时段开始。主持人只是想考考每个参赛者如何安排组织自己做游戏的顺序。作为参赛者,小伟很想赢得冠军,当然更想赢取最多的钱!注意:比赛绝对不会让参赛者赔钱!

输入格式

第一行为 m m m,表示一开始奖励给每位参赛者的钱;

第二行为 n n n,表示有 n n n 个小游戏;

第三行有 n n n 个数,分别表示游戏 1 1 1 n n n 的规定完成期限;

第四行有 n n n 个数,分别表示游戏 1 1 1 n n n 不能在规定期限前完成的扣款数。

输出格式

输出仅一行,表示小伟能赢取最多的钱。

样例 #1

样例输入 #1

10000
7
4 2 4 3 1 4 6
70 60 50 40 30 20 10

样例输出 #1

9950

提示

对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 500 1 \le n \le 500 1n500 1 ≤ m ≤ 5 × 1 0 5 1 \le m \le 5 \times 10^5 1m5×105 1 ≤ t i ≤ n 1 \le t_i \le n 1tin 1 ≤ w i ≤ 1000 1 \le w_i \le 1000 1wi1000

思路

需要每个阶段需要取最大值,那就需要舍去最小值,可以使用小顶堆,每次舍去掉最小值。

代码实现

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int ans = sc.nextInt();
        int len = sc.nextInt();
        int[][] arr = new int[len][2];
        for(int i = 0; i < len; i++) arr[i][0] = sc.nextInt();
        for(int i = 0; i < len; i++) arr[i][1] = sc.nextInt();
        Arrays.sort(arr, (a, b) -> a[0] - b[0]);
        PriorityQueue<Integer> queue = new PriorityQueue<>((a,b) -> a - b);
        int time = 0;
        for(int i = 0; i < len; i++){
            if(arr[i][0] > time){
                while(!queue.isEmpty() && queue.size() > time) ans -= queue.poll();
                time = arr[i][0];
            }
            queue.add(arr[i][1]);
        }
        System.out.println(ans);
        sc.close();
    }
    
}

相关文章:

  • 临沂在线上网站建设/域名注册需要什么条件
  • wordpress设置固定连接失败/百度做网站
  • 网站实现多模板切换/关键词在线试听
  • 网站建设交流论坛地址/网页设计模板
  • wordpress消息推送/关键词竞价广告
  • 网页制作站点/百度教育app
  • 毕业论文查重
  • uni-app 中实现文件和图片的上传-H5
  • OpenDDS开发人员指南中文版3.23
  • 用友BIP与旺店通·企业奇门对接集成采购订单列表查询=>创建采购单(采购订单=>采购单)
  • 新手编写IntelliJ IDEA插件
  • pandas数据聚合与分组运算
  • Task5 Excel-逻辑判断
  • 高并发系统设计 --基于MySQL构建评论系统
  • 【Javascript】面向对象编程,this,原型与原型链,类与实例
  • 10.2 初始泛型算法
  • 卡方检验的基本原理详解
  • 二、预训练模型预测(Datawhale组队学习)