2 条题解
-
0
#include<bits/stdc++.h> using namespace std; const int N=25, inf=0x3f3f3f3f; int f[N][N], a[N]; int main(){ int n, T, m; scanf("%d%d%d", &n, &T, &m); for(int i=1; i<=n; i++) scanf("%d", &a[i]); memset(f, 0, sizeof(f)); for(int i=1; i<=n; i++){ for(int j=m; j>=1; j--){ for(int k=T; k>=a[i]; k--){ f[j][k]=max({f[j][k], f[j-1][T]+1, f[j][k-a[i]]+1}); } } } printf("%d\n", f[m][T]); return 0; } -
0
#include<bits/stdc++.h> using namespace std; const int N=25, inf=0x3f3f3f3f; int f[N][N], a[N]; int main(){ int n, T, m; scanf("%d%d%d", &n, &T, &m); for(int i=1; i<=n; i++) scanf("%d", &a[i]); memset(f, 0, sizeof(f)); for(int i=1; i<=n; i++){ for(int j=m; j>=1; j--){ for(int k=T; k>=a[i]; k--){ f[j][k]=max({f[j][k], f[j-1][T]+1, f[j][k-a[i]]+1}); } } } printf("%d\n", f[m][T]); return 0; }
- 1
信息
- ID
- 1035
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 28
- 已通过
- 14
- 上传者