P1230 智力大冲浪(洛谷)
题目描述
小伟报名参加中央电视台的智力大冲浪节目。本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者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行。表示小伟能赢取最多的钱。
输入输出样例
输入样例#1:
10000
7
4 2 4 3 1 4 610
70 60 50 40 30 20 10
输出样例#1:
9950 题目的意思:游戏的期限 k,意思是1--k的时间段任意一个时间段又可以完成;
做搜索的题做出了惯性,开始的思路是:把所有完成游戏的顺序列出来,寻找剩的钱最多的,没有一个点过QAQ;
以下的思路:既然想要扣的钱最少,那么把钱多的游戏先完成,所以要先进行排序。钱最多的游戏排在前面,假设他的时间限度是k,那么在1-k之间
完成效果是一样的,我们可以让它在k时完成,那么1---k-1又可以完成其它的游戏。
[代码]
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std;
int m,n;
struct oo
{
int tim,mone;
}game[];
bool cmp(oo a,oo b)//排序,将钱多的排在前面
{
return a.mone>b.mone;
}
bool play[];
int main()
{
scanf("%d%d",&m,&n);
for(int i=;i<=n;i++)
scanf("%d",&game[i].tim);//输入时间
for(int i=;i<=n;i++)
scanf("%d",&game[i].mone);//输入钱
sort(game+,game+n+,cmp);//排序
for(int i=;i<=n;i++)
{
for(int j=game[i].tim;j>=;j--)//一定要倒序,把它最后完成,然后它的前面有可以完成其它的游戏了
{
if(!play[j])//第j个时间段没有玩游戏
{
play[j]=;//把这个游戏安排在这个时间段
break;
}
if(j==&&play[])//如果他的前面的时间段都被安排了,那么这个游戏将不能完成
m-=game[i].mone;//失去金钱
}
}
printf("%d",m);
return ;
}
P1230 智力大冲浪(洛谷)的更多相关文章
- P1230 智力大冲浪 洛谷
https://www.luogu.org/problem/show?pid=1230 题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每 ...
- 洛谷 P1230 智力大冲浪
洛谷 P1230 智力大冲浪 题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元.先不要太高兴!因为这些钱还不一定都是你的?! ...
- 洛谷 P1230 智力大冲浪 题解
P1230 智力大冲浪 题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者 \(m\)元.先不要太高兴!因为这些钱还不一定都是你的 ...
- 洛谷P1230 智力大冲浪
题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元.先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则: ...
- C++ 洛谷P1230 智力大冲浪
题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元.先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则: ...
- 洛谷P1230智力大冲浪 题解
题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元.先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则: ...
- P1230 智力大冲浪
题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元.先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则: ...
- [Luogu P1230]智力大冲浪
题目链接 这道题,贪就对了. 先按照价值排序,从大到小.当前考虑的的就先放到尽可能晚的时间点,为其他的创造机会,如果这一个的所有可用时间段都被占据,就只能扣钱了. #include<fstrea ...
- 智力大冲浪(洛谷P1230)
题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元.先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则: ...
随机推荐
- 【HackerRank】Sherlock and MiniMax
题目连接:Sherlock and MiniMax Watson gives Sherlock an array A1,A2...AN. He asks him to find an integer ...
- windows 服务安装报错
使用windows服务开发的定时任务,在win7上都运行良好,在windows server 2008上运行报错,报错信息如下 错误应用程序名称: GCWindowsService.exe,版本: 1 ...
- IEnumerable的一些基本方法 补充
接上一篇,我们发现两表连接方式默认为内连接,而我们在SQL中常用到的左连接没有封装方法.换句话说,微软放弃两表左连或右连的这种做法(只有在2个表都存在值时,这样的连接才有意义). 如果要实现表的左连接 ...
- Java List 增删改查
定义2个类,课程类和选课类 package com.imooc.collection; /** * 课程类 */ public class Course { private String id; pr ...
- 简单web作业---书籍介绍的相关网页编写
老师布置的web作业,我做了3个页面,其中有利用老师的css代码! 我有添加背景音乐,下面的是主界面的代码. <!DOCTYPE html> <html> <head&g ...
- poj 1905 Expanding Rods(木杆的膨胀)【数学计算+二分枚举】
...
- java入门了解03
ASSCII表 . 1.final关键字 (1)含义:最终的意思,修饰方法,类,变量 (2)特点: A:修饰类,不能被继承 B:修饰的方法,不能被重载 ...
- [转载]Google Android开发精华教程
原文地址:Android开发精华教程">Google Android开发精华教程作者:huiyi8zai Android是Google于2007年11月5日宣布的基于Linux平台的开 ...
- EF与手写Model的区别以及联系
1.在数据库表名上,EF是随意的,但是如果是Model的话,就应该在建立数据库的时候考虑到讲数据库表名变为复数,如Movie.cs 数据库应该为Movies
- repo 小结
repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载.管理Android项目的软件仓库. 1. 下载 repo 的地址: http://android.git.kerne ...