题目描述

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

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

输入格式

输入文件riddle.in,共4行。

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

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

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

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

输出格式

输出文件riddle.out,仅1行。表示小伟能赢取最多的钱。

输入输出样例

输入 

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

输出 

9950

分析: 

这道题我们每完不成一个任务就要扣钱,而想让自己最后的钱最多,就是扣的钱最少,而我们可以贪心的让能扣钱最多的排在最前面考虑,因为它的影响最大。

这时候用sort就行

sort(a+1,a+n+1,cmp)

为什么要用cmp?因为包含了结构体

struct ben
{int t,val;
}a[505];

注意此时cmp需要手写

int cmp(const ben &a,const ben &b)
{return a.val>b.val;
}

 完整代码:

#include<cstdio>
#include<algorithm>
using namespace std;
struct ben
{int t,val;
}a[505];
int vis[505];
int cmp(const ben &a,const ben &b)
{return a.val>b.val;
}
int main()
{int m,n;scanf("%d%d",&m,&n);for(int i=1;i<=n;i++){scanf("%d",&a[i].t);} for(int i=1;i<=n;i++){scanf("%d",&a[i].val);} sort(a+1,a+n+1,cmp);int ans=0,t=0;for(int i=1;i<=n;i++){int tag=0;for(int j=a[i].t;j;j--){if(vis[j]==0){vis[j]=1;tag=1;break;}}if(tag==0){for(int j=n;j;j--){if(vis[j]==0){vis[j]=1;break;}}ans+=a[i].val;}}printf("%d\n",m-ans);return 0;
}

yjf

洛谷p1230 智力大冲浪 (贪心问题)相关推荐

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

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

  2. 洛谷 P1230 智力大冲浪

    我的第一篇题解(辣鸡题解)洛谷 P1230 智力大冲浪 题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元.先不要太高兴!因为 ...

  3. 洛谷P1230 智力大冲浪

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

  4. 做题记录 洛谷P1230 智力大冲浪

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

  5. P1230 智力大冲浪 贪心

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

  6. P1230 智力大冲浪

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

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

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

  8. 【题解】p1230 智力大冲浪

    总结: 1.因为完成游戏的时间都是1分钟,所以不用考虑时间不同而带来的影响,这就是不用贪心的原因,所以可以用贪心 2.从每个游戏的最晚时间向前循环,是为了尽可能让后面游戏完成. #include< ...

  9. [Luogu P1230]智力大冲浪

    题目链接 这道题,贪就对了. 先按照价值排序,从大到小.当前考虑的的就先放到尽可能晚的时间点,为其他的创造机会,如果这一个的所有可用时间段都被占据,就只能扣钱了. #include<fstrea ...

最新文章

  1. C# VC HTTP POST GET(转)
  2. 4j是合法python数字类型_python数字类型
  3. Js选择框脚本 移动操作select 标签中的 option 项的操作事项
  4. 请解释为什么集合类没有实现Cloneable和Serializable接口?
  5. oracle insert 数组,oracle 数组 批量insert
  6. c# list 容量_C#中数组、ArrayList和List三者的区别 转
  7. DFS--POJ 1190 生日蛋糕
  8. 鸟哥的linux私房菜简答题答案,《鸟哥的Linux私房菜》7章 Linux文件与目录管理 习题答案...
  9. java swing 列表框_如何在Swing中使用列表框?
  10. Linux开机启动过程(6):页表的初始化、避开保留的内存、地址随机化
  11. 【底层原理】x86-64体系下一个奇怪问题的定位
  12. C++ 10 进制 转 16进制
  13. IE兼容性问题解决方案
  14. Laravel快速创建统计图表
  15. Admin5推荐软文推广采用“链接标准化”
  16. [转]VC知识库文章 - 在MFC中用正则表达式对窗体进行有效性验证
  17. 如何在Windows 10上不用鼠标使用文件资源管理器
  18. ps铅笔素描效果教程
  19. ant-vue中的a-icon使用方法
  20. LoadBalancerCacheManager not available, returning delegate without caching.

热门文章

  1. 字符串 转换成 二维码
  2. 宽带,梦想走向现实? (转)
  3. 解惑五-开源数据库与商用数据库
  4. 怎么去掉html a超链接下划线
  5. Tensorflow使用Char-CNN实现中文文本分类(1)
  6. 渐变的知识和动画总结
  7. 启英泰伦推出基于三代AIoT芯片的离在线语音识别方案
  8. Android 装逼技术之暗码启动应用
  9. 《Maven实战》笔记整理
  10. 主流脚本编程语言大比拼 优缺点一目了然