Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
143032 | 王容宇 | 简单背包问题2 | C++ | 通过 | 100 | 16 MS | 240 KB | 434 | 2024-04-11 21:13:51 |
#include <bits/stdc++.h> using namespace std; int n, m; int a[40]; bool b2[40]; bool b = false; int minn; void dfs(int x, int sum) { if(sum>n) { return; } if(x==m+1) { minn=min(n-sum, minn); return; } b2[x]=true; dfs(x+1, sum+a[x]); b2[x]=false; dfs(x+1, sum); } int main() { cin >> n >> m; for(int i = 1; i<=m; i++) { cin >> a[i]; } minn=n; dfs(1, 0); cout << minn << endl; }