UVa 624: CD
来源:互联网 发布:淘宝化妆品哪家是正品 编辑:程序博客网 时间:2024/06/04 17:43
这道题由于每组数据最多只有20个,其可能组成的时间总长度最多有2^20大约10^6中,一个数组可以放下,我使用了vector。
选出vector中存有的总时间长度的最大者(且不超过N),根据其序号计算出该最大时间总长度包含了哪些数据即可。
我的解题代码如下:
#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <vector>#include <algorithm>using namespace std;#define maxm 20int Duration[maxm];int main(){int N,M;int Size,Max,Maxk;int tmp;vector<int> v;while(cin >> N >> M){for(int i=0; i<M; i++) cin >> Duration[i];Max = 0;v.clear(); v.push_back(0);for(int i=0; i<M; i++){Size = v.size();for(int j=0; j<Size; j++){v.push_back( tmp = v[j]+Duration[i]);if(tmp<=N && Max<tmp){Max = tmp;Maxk = v.size()-1;}}}int div = 2;for(int i=0; i<M; i++){if(Maxk%div >= div/2) cout << Duration[i] << ' ';div *= 2;}cout << "sum:" << Max << endl;}return 0;}
- uva 624 CD
- UVa 624 - CD
- Uva 624 CD
- UVA 624 CD
- UVa 624 - CD
- UVa 624 - CD
- uva 624 CD
- uva 624 CD
- UVa 624 - CD
- UVa 624 CD
- Uva-624-CD
- CD UVA 624
- UVA 624 CD
- UVA 624 - CD
- UVa:624 CD
- UVa 624: CD
- UVA - 624 CD
- uva 624 cd
- ios实例开发精品源码文章推荐
- LeetCode:Longest Valid Parentheses
- 怎样在VS2010中打开VS2012的项目
- javascript内存泄漏
- Java JFC/Swing Look and Feel 创建于展示
- UVa 624: CD
- Linux shell脚本的字符串截取
- 非阻塞connect()和accept()
- SQL删除重复数据只保留一条
- poj 3427 Ecology tax
- String.Format用法
- RichFaces中如何让ModalPanel在Ajax验证有错误时不关闭
- socket端口数量限制问题
- Modulation and Coding Scheme - MCS Index Table