https://ac.nowcoder.com/acm/contest/950/E

题目描述

小伟报名参加中央电视台的智力大冲浪节目。本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元。先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则:
首先,比赛时间分为n个时段,它又给出了很多小游戏,每个小游戏都必须在规定期限ti前完成。如果一个游戏没能在规定期限前完成,则要从奖励费m元中扣去一部分钱wi​,wi​为自然数,不同的游戏扣去的钱是不一样的。当然,每个游戏本身都很简单,保证每个参赛者都能在一个时段内完成,而且都必须从整时段开始。主持人只是想考考每个参赛者如何安排组织自己做游戏的顺序。作为参赛者,小伟很想赢得冠军,当然更想赢取最多的钱!注意:比赛绝对不会让参赛者赔钱!

输入描述:

输入共四行。 第一行为m,表示一开始奖励给每位参赛者的钱; 第二行为n,表示有n个小游戏; 第三行有n个数,分别表示游戏1到n的规定完成期限; 第四行有n个数,分别表示游戏1到n不能在规定期限前完成的扣款数。

输出描述:

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

示例1

输入

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

输出

9950

备注:

对于 100\%100% 的数据,有n<=500 。
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
#include<vector>
#include<cmath>
#include<string>
#include<map>
#include<queue>
using namespace std;
typedef long long ll;
int flag[12];
struct node {int t, w;
}a[501];
priority_queue<int, vector<int>, less<int> >p;
int cmp(node x, node y) {return x.t > y.t;
}
//本题要点:在每个截止时间之前的任意一个时间段都可以完成该任务,但最好还是完成时间越靠后越好,因为这样可以为截止时间更小的任务留出时间来完成
//下面留在优先队列中的金额是待被减去的金额。
int main() {ll m,n;cin >> m >> n;for (int i = 1; i <= n; i++) {cin >> a[i].t;}for (int i = 1; i <= n; i++) {cin >> a[i].w;}//根据要点提示,我们需要先筛选截止时间打的任务sort(a + 1, a + 1 + n, cmp);ll k = 1;for (int i = n; i >= 1; i--) {//在筛选截止时间跟小的任务时,未被选出来的截止时间大任务任可和截止时间小的任务相冲突,参与筛选。while (a[k].t>= i) {p.push(a[k].w);k++;}//把该时间段能完成的冲突的任务的最大金额数的挑出来,是最优的方案(只能放弃其他的任务,因为一个时间点只能做一个任务)if (!p.empty()) {p.pop();}}while (!p.empty()) {m -= p.top();p.pop();}cout << m << endl;getchar(); getchar();return 0;
}

智力大冲浪 (牛客贪心)相关推荐

  1. CQNKOJ P5215 智力大冲浪(贪心算法)题解

    前言 这题 不 有点麻烦,可能有更好的解法,笔者的方法通俗易懂,希望大家都能A掉这道题 先看题目 时间限制 : 10000 MS 空间限制 : 65536 KB 问题描述 小伟报名参加中央电视台的智力 ...

  2. 贪心算法(5.智力大冲浪+解题思路)

    1.带期限和罚款的单位时间任务调度                                                         智力大冲浪 题目描述 小伟报名参加中央电视台的智力大 ...

  3. 贪心算法之智力大冲浪

    #!/usr/bin/python3 # 文件名: 贪心算法之智力大冲浪 # 作者:巧若拙 # 时间:2018-12-29 ''' 智力大冲浪(riddle.pas). [题目描述] 小伟报名参加中央 ...

  4. 洛谷P1230 智力大冲浪(贪心)

    P1230 智力大冲浪 题解:准着一个贪心思想,在尽可能短的时间内,做价值尽可能多的题. 因此,我们可以按照价值从大到小排个序,然后对于每一道题看在时间限制内可以做哪几道题.时间复杂度Θ(N2)\Th ...

  5. 洛谷p1230 智力大冲浪 (贪心问题)

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

  6. C语言(CED)智力大冲浪——贪心算法第一题

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

  7. 智力大冲浪 【贪心】

    题目链接:https://loj.ac/problem/10004 题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者 m 元.先 ...

  8. 贪心算法——智力大冲浪

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

  9. P1230 智力大冲浪 贪心

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

最新文章

  1. mac on linux,Mac- on- Linux
  2. raft算法动画演示
  3. gatling的环境配置_将Gatling集成到Gradle构建中–了解SourceSet和配置
  4. react学习(40)----react中的jsx简介
  5. c malloc 头文件_C/C++笔试题:主要考察C/C++语言基础概念算法及编程,附参考答案...
  6. linux常用翻页,20150823-Linux常用命令
  7. TeamCity : .NET Core 插件
  8. 主流的数据可视化工具介绍
  9. [Java] 蓝桥杯BASIC-28 基础练习 Huffuman树
  10. Watermaker水位线/水印
  11. 「三分钟系列03」3分钟看懂什么是三次握手/四次挥手
  12. MongoDB数据库(使用、基本操作)
  13. 前后端ajax分离如何做seo,前后端分离 seo
  14. matlab非齐次方程组的通解,用matlab求非齐次线性方程组的通解?
  15. Hexo博客美化之——IP签名图一网打尽
  16. es python search 返回_Elasticsearch - python操作es,以及curl命令查询es的总结
  17. TEEOS的实例-在线支付系统
  18. layui 重置checkbox全部选中和未选中
  19. dirver时区_【作业】偶入卡地亚Driver de Cartier双时区大日历腕表|腕表之家xbiao.com...
  20. 关于iOS中UITableView下拉距离短刷新没事,下拉距离长就会崩溃的问题解决方案

热门文章

  1. Edge 浏览器设置自动刷新
  2. react native 使用react-navigation
  3. Android9.0 http明文
  4. vue+elementUi发送邮件组件编写
  5. 开源项目:张帅个人博客
  6. VMware NSX原理与实践——NSX-V安装
  7. 雷观(十九):我的人生观
  8. 利用MHT类型,免杀宏病毒
  9. 【请勿点开】程序员放假鬼故事 | 每日趣闻
  10. (景德镇)麻将计分规则