社区讨论
01背包 80分求调
P1156垃圾陷阱参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lo1uufg3
- 此快照首次捕获于
- 2023/10/23 03:21 2 年前
- 此快照最后确认于
- 2023/11/03 03:52 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
struct Stu {
int t,f,h;
} a[100+10];
int d[100+10];
bool cmp(const Stu &a,const Stu b) {
return a.t<b.t;
}
int main() {
int D,g;
cin>>D>>g;
for(int i=1; i<=g; i++) {
cin>>a[i].t>>a[i].f>>a[i].h;
}
sort(a+1,a+g+1,cmp);
d[0]=10;
for(int i=1; i<=g; i++) {
for(int j=D; j>=0; j--) {
if(d[j]>=a[i].t) {
if(j+a[i].h>=D) {
cout<<a[i].t;
return 0;
}
d[j]+=a[i].f;
}
if(j>=a[i].h&&d[j-a[i].h]>=a[i].t){
if(j>=D) {
cout<<a[i].t;
return 0;
}
d[j]=d[j-a[i].h];
}
}
}
cout<<d[0];
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...