1 条题解

  • 0
    @ 2024-2-2 14:45:54
    #include<bits/stdc++.h>
    using namespace std;
    int a[100005];
    int f[100005];
    int n,s,t,sum;
    int main(){
    	cin>>n>>s>>t;
    	t=min(t+1,n),f[0]=1;
    	for(int i=1;i<=n;i++)
    		cin>>a[i];
    	sort(a+1,a+n+1);
    	for(int i=n-t+1;i<=n;i++)
    		sum+=a[i];
    	for(int i=1;i<=n-t;i++){
    		int m=s-a[i];
    		for(int j=m;j>=0;j--)
    			if(f[j])
    				f[j+a[i]]=1;
    	}
    	for(int i=s-1;i>=0;i--)
    		if(f[i]){
    			sum+=i;
    			break;
    		}
    	cout<<sum;
        return 0;
    }
    
    
    • 1

    信息

    ID
    537
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    (无)
    递交数
    48
    已通过
    6
    上传者