2 条题解

  • 0
    @ 2025-10-8 16:55:10
    #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
      @ 2025-10-8 16:55:02
      #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

      [USACO3.4] “破锣摇滚”乐队 Raucous Rockers

      信息

      ID
      1035
      时间
      1000ms
      内存
      128MiB
      难度
      5
      标签
      递交数
      28
      已通过
      14
      上传者