社区讨论
20分求助
P1504积木城堡参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lr0q9lpi
- 此快照首次捕获于
- 2024/01/05 22:24 2 年前
- 此快照最后确认于
- 2024/01/06 09:57 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
int n,x,s[110],sum;
bool sums[10010]={1},c[110]={1};
int main(){
cin>>n;
for(int i=1;i<=n;i++){
while(cin>>x){
if(x==-1) break;
s[i]+=x;
c[x]=1;
for(int j=0;j<=10000;j++) if(sums[j]==1) sums[j+x]=1;
}
}
for(int i=n;i>=1;i--) for(int j=s[i]+1;j<=10000;j++) sums[j]=0;
for(int i=10000;i>=0;i--){
if(sums[i]==1){
cout<<i;
return 0;
}
}
return 0;
}
求助,感觉思路是差不多的
回复
共 0 条回复,欢迎继续交流。
正在加载回复...