CSU 1640 机智的刷题方式
来源:互联网 发布:java 日期排序 编辑:程序博客网 时间:2024/05/01 02:35
1640: 机智的刷题方式
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 262 Solved: 86
[Submit][Status][Web Board]
Description
小B想参加中南大学2015年大学生程序设计竞赛暑期集训,相信猛刷自然强的小B表示做题进集训队完全不是事~当然刷题还是有一定技巧的,考虑到每种题的分值不一样,难度不一样,小B要在上面做一些权衡。分数与题目对应关系如下:
入门题
1分/题
基础题
2分/题
进阶题
5分/题
首先,小B希望自己能尽快确保自己入选集训队,已知他做每种题目的时间,还需要H分来达到入队要求,请问他最快能在多长时间内达到要求?
然后,小B想试着挑战一下自己的极限。已知他在接下来的时间里还有X的时间拿来刷题,那么他最多能刷到多少分?
Input
多组数据,第一行有一个整数T,表示有T组数据。(T<=100)
以下每组数据第一行有三个整数A,B,C,表示小B做入门题、基础题和进阶题要花的时间的数量。(1<=A、B、C<=100)
然后第二行是2个整数H,X,分别表示小B还需要的分数和接下来小B拿来刷题的时间。(1<=H、X<=10000)
Output
每组数据输出两行,第一行输出小B刷够H分最少所需时间。第二行输出小B可能刷到的最高分数。
Sample Input
41 2 53 101 2 34 101 2 43 72 3 43 7
Sample Output
3103163847
HINT
Source
wrcrazy
以前做的一道题,背包。今天看了status发现别人的做法快好多。我要仔细研究一下。放出以前的AC代码。
#include <stdio.h>#include <string.h>#include <algorithm>#define N 10000005using namespace std;int dp[N];int main(){ int T; scanf("%d",&T); while(T--) { int tans=0; int sans=0; memset(dp,0,sizeof(dp)); int A,B,C; scanf("%d%d%d",&A,&B,&C); int H,X; scanf("%d%d",&H,&X); for(int i=1;i<=X||tans==0;i++) { if(i>=A) dp[i]=max(dp[i],dp[i-A]+1); if(i>=B) dp[i]=max(dp[i],dp[i-B]+2); if(i>=C) dp[i]=max(dp[i],dp[i-C]+5); if(dp[i]>=H&&tans==0) tans=i; if(i<=X) sans=max(dp[i],sans); } printf("%d\n%d\n",tans,sans); }}
0 0
- CSU 1640机智的刷题方式
- CSU 1640 机智的刷题方式
- CSU 1640 机智的刷题方式
- csu 1640 机智的刷题方式(完全背包)
- CSU_1640_机智的刷题方式(完全背包)
- CSU1640-机智的刷题方式-贪心or背包
- csuoj1640机智的刷题方式(背包)
- CSU OJ 1803 2016 数论题? 机智题。。
- CSU 1560 图书管理员的表白方式
- CSU 1560 图书管理员的表白方式
- CSU-1560 图书管理员的表白方式
- 游戏《机智的小鸟》
- 机智的交换函数
- 机智的末位无空格
- 机智的偶数求和
- zufe-机智的zhourist
- 机智的简单计算器
- 妙语连珠-机智的回答
- Java程序运行机制
- MySQL学习----MySQL数据类型----03MySQL 日期和时间类型
- WPF学习开发历程(二)——WPF介绍
- 数据库对象命名参考
- 顺序表的基本操作——C++实现
- CSU 1640 机智的刷题方式
- Google Python Class 之——正则表达式提取html网页数据字段
- 自定义UITableViewCell(registerNib: 与 registerClass: 的区别
- 【codevs1073】家族,胡写并查集
- mac zip unzip 命令
- AndroidManifest.xml uses-feature 详解
- hadoop工程日志
- 24位bmp的存储方式
- Android如何绘制视图,解释了为何onMeasure有时要调用多次