比赛 SBOI2022暑假快乐赛① 评测结果 AAATAATTT
题目名称 送礼物 最终得分 55
用户昵称 冷月星云 运行时间 20.271 s
代码语言 C++ 内存使用 5.10 MiB
提交时间 2022-06-25 09:36:14
显示代码纯文本
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long

using namespace std;

ll n , w , g[100] , ans;

ll asd(ll we , ll s){
    ll m;
    if(s == n){
        if(we >= g[s]){
            return g[s];
        }
        else{
            return 0;
        }
    }
    if(we > g[s]){
        m = max(asd(we - g[s] , s + 1) + g[s], asd(we , s + 1));
        return m;
    }
    else{
        m = asd(we , s + 1);
        return m;
    }
}

int main(){
    freopen("giftgiving.in","r",stdin);
    freopen("giftgiving.out","w",stdout);
    cin >> w >> n;
    for(int i = 1;i <= n;i++){
        cin >> g[i];
    }
    ans = asd(w,1);
    cout << ans;
    return 0;
}