Cut Ribbon codeforce
来源:互联网 发布:夏普网络扫描仪工具 编辑:程序博客网 时间:2024/05/23 13:58
Cut Ribbon
Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u
Description
Polycarpus has a ribbon, its length is n. He wants to cut the ribbon in a way that fulfils the following two conditions:
- After the cutting each ribbon piece should have length a, b or c.
- After the cutting the number of ribbon pieces should be maximum.
Help Polycarpus and find the number of ribbon pieces after the required cutting.
Input
The first line contains four space-separated integers n,a, b andc(1 ≤ n, a, b, c ≤ 4000) — the length of the original ribbon and the acceptable lengths of the ribbon pieces after the cutting, correspondingly. The numbersa, b andc can coincide.
Output
Print a single number — the maximum possible number of ribbon pieces. It is guaranteed that at least one correct ribbon cutting exists.
Sample Input
5 5 3 2
2
7 5 5 2
2
Hint
In the first example Polycarpus can cut the ribbon in such way: the first piece has length 2, the second piece has length 3.
In the second example Polycarpus can cut the ribbon in such way: the first piece has length 5, the second piece has length 2.
/*********************************************** * Author: fisty * Created Time: 2015/2/8 19:58:22 * File Name : 6_A.cpp *********************************************** */#include <iostream>#include <cstring>#include <deque>#include <cmath>#include <queue>#include <stack>#include <list>#include <map>#include <set>#include <string>#include <vector>#include <cstdio>#include <bitset>#include <algorithm>using namespace std;int a[3];int dp[5010];int main() { int n; memset(dp, -1, sizeof(dp)); cin >> n >> a[0] >> a[1] >> a[2]; dp[0] = 0; for(int i = 0;i < 3; i++){ int m = n - a[i]; for(int j = 0;j <= m; j++){ dp[j + a[i]] = max(dp[j + a[i]], dp[j] + 1); } } cout << dp[n] << endl; return 0;}
- Cut Ribbon codeforce
- Cut Ribbon
- Cut Ribbon
- Cut Ribbon
- A. Cut Ribbon
- codefroces A. Cut Ribbon
- CF cut ribbon
- CF - 189A - Cut Ribbon
- CF 189A Cut Ribbon
- CF 189 A Cut Ribbon
- D - Cut Ribbon (dp)
- codeforces 189A Cut Ribbon
- CodeForces 189A Cut Ribbon
- CodeForces 189A-Cut Ribbon
- CF 189A Cut Ribbon
- codeforces 189A. Cut Ribbon
- CodeForces 189A Cut Ribbon
- Codeforces189 A. Cut Ribbon(DP)
- Sql server对表中数据进行排序,并将序号更新至列
- 黑马程序员——IO第三天
- poj 3368(RMQ)
- Linux下安装mysql 的两种方式--rpm --tar.gz
- 点击tabbarItem变Item的背景色
- Cut Ribbon codeforce
- 斐波那契数列的递归与非递归算法实现及其时间复杂度
- 数组最长递增子序列(LIS)---MS
- VC++项目中firebreath生成的代码中如何加入jsoncpp库
- 机器学习算法基础概念学习总结
- 有趣的Java 8
- Silverlight中用户直接退出浏览器时如何判断用户离线
- itextpdf输出PDF笔记
- Java学习之反射机制