CodeForces
来源:互联网 发布:钢结构强度校核软件 编辑:程序博客网 时间:2024/06/10 13:20
整理一下
#include<bits/stdc++.h>using namespace std;const int maxn = 100 + 7;int n, max_;int ans[20*maxn];int path[maxn][20*maxn];struct node { int t, d, v, id;} a[maxn];bool cmp(node a, node b) { return a.d < b.d;}void init() { cin >> n; for(int i = 0; i < n; ++i) { cin >> a[i].t >> a[i].d >> a[i].v; a[i].id = i + 1; max_ = max(max_, a[i].d); } sort(a, a+n, cmp);}void solve() { memset(ans, 0, sizeof ans); memset(path, 0, sizeof path); for(int i = 0; i < n; ++i) { for(int j = a[i].d; j > a[i].t; --j) { if(ans[j-a[i].t]+a[i].v > ans[j]) { ans[j] = ans[j-a[i].t]+a[i].v; path[i][j] = 1; } } } int maxx = 0, id = 0; for(int j = 0; j <= max_; ++j) if(ans[j] > maxx) { maxx = ans[j]; id = j; } cout << maxx << endl; stack<int> sk; int cnt = 0; int i = n-1, j = id; while(i >= 0 && j >= 0) { if(path[i][j] == 1) { sk.push(a[i].id); cnt++; j -= a[i].t; } i--; } cout << cnt << endl; while(!sk.empty()) { cout << sk.top(); sk.pop(); if(sk.empty()) cout << endl; else cout << " "; }}int main() { ios::sync_with_stdio(0); init(); solve(); return 0;}
阅读全文
1 0
- codeforces~~~
- Codeforces
- codeforces
- Codeforces
- codeforces
- codeforces
- Codeforces
- Codeforces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- JAVA单例模式的7种方式
- 数组排序c/c++
- 51nod 1267 4个数和为0
- jdk中哪些类是不能继承的
- 半监督学习
- CodeForces
- bzoj 4094(线段树)
- SpringMVC--ContextLoaderListener
- 【XSY1284】【BZOJ3813】【清华集训2014】奇数国 线段树 数学
- no link present. Check cable 报错
- 不可不知的socket和TCP连接过程
- js-字符串扩展
- 【收藏篇】9月优秀技术博文整合,值得收藏!
- Egg + Vue 服务端渲染工程化实现