1747. 内存使用
来源:互联网 发布:南大女生碎尸案 知乎 编辑:程序博客网 时间:2024/04/30 15:38
1.注意operator<应该声明为const函数
// 例如输入是 14 2的时候表示的是总的内存是14 , 总共有2个进程 // 接下来有2行, 每行分别是进程进行计算需要的内存和存放计算结果需要的内存// 需要判断的是,总的内存减去上一个进程存放结果的内存以后大于或等于下一个进程计算需要的内存// 另外是进程需要先进行排序,计算需要内存最多的最先进行,如果计算需要的内存相同,则存放结果需要的内存小的进程先进行 #include<iostream>#include<vector>#include<algorithm>using namespace std;class node { public: int r, s; node() { } node(int _r, int _s):r(_r), s(_s) {} // 注意将操作符重载的函数声明为const,否则sort会出现runtime error bool operator<(const node& other) const { if (r > other.r) { return true; } else if (r == other.r) { if (s < other.s) return true; else return false; } else { return false; } }};int main() { int noder, nodes; int t, k, n; bool flag = true; cin >> t; while (t--) { flag = true; cin >> k >> n; vector<node> storage; for (int i = 0; i < n; ++i) { cin >> noder >> nodes; storage.push_back(node(noder, nodes)); }// 下面的代码段代替sort时出现超时现象 // node temp = node(0, 0);// for (int i = 0; i < n; ++i) {// for (int j = 0; j < n -1; ++j) {// if (storage[j + 1] < storage[j]) {// temp = storage[j];// storage[j] = storage[j + 1];// storage[j + 1] = temp;// }// }// } sort(storage.begin(), storage.end()); for (int i = 0; i < n; ++i) { if (k >= storage[i].r) { k -= storage[i].s; } else { flag = false; break; } } if (flag) cout << "Yes" << endl; else cout << "No" << endl; } return 0;}
0 0
- 1747. 内存使用
- 内存使用
- 内存使用
- 内存使用
- 1747. 内存使用 (类的排序)
- 使用windows内存-堆内存
- 使用内存 or 不使用内存?
- 正确使用内存
- 增加Tomcat使用内存
- 转载 内存使用总结
- 正确使用内存
- 增加Tomcat使用内存
- 使用内存映射文件
- 内存管理 使用工具
- 转:使用内存文件系统
- linux内存使用情况
- 增加Tomcat使用内存
- C++内存使用小结
- Swift - Alamofire - GET/POST/upload 的使用
- 《acm课程设计》总结
- 记一次Error:Execution failed for task ':o2osdk:transformClassesAndResourcesWithProguardForRelease'编译出错
- Python中yield的用法
- Reverse Nodes in k-Group
- 1747. 内存使用
- CodeForces 687B Remainders Game
- OpenCV2:Mat属性type,depth,step
- 如何判断栈、堆的增长方向?
- HDU 2602 Bone Collector
- 动态规划 解决打印所有和为s的连续整数序列 剑指offer 之 面试题41_2
- 第3章 主机规划与磁盘分区
- ContentType设置的内容
- GCD死锁