5 条题解

  • 0
    @ 2025-4-10 3:42:52
    // https://dashoj.com/p/114
    #include <bits/stdc++.h>
    
    using namespace std;
    
    typedef long long ll;
    
    int main() {
    	int n, m;
    	cin >> n >> m;
    	vector<int> a(n);
    	for (int i = 0; i < n; i++) cin >> a[i];
    	sort(a.begin(), a.end());
    	vector<int> dp(m + 1, 1e5);
    	dp[0] = 0;
    	for (int i = 1; i <= m; i++)
    		for (int j = 1; j <= n; j++)
    			if (a[j] <= i) dp[i] = min(dp[i], dp[i - a[j]] + 1);
    	cout << dp[m] << endl;
    	return 0;
    }
    

    信息

    ID
    114
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    417
    已通过
    114
    上传者