1 条题解

  • 0
    @ 2025-4-13 11:23:58
    #include <iostream>
    #include <vector>
    #include <algorithm>
    
    using namespace std;
    
    int main() {
        int T, M;
        cin >> T >> M;
    
        vector<int> times(M);
        vector<int> values(M);
    
        for (int i = 0; i < M; ++i) {
            cin >> times[i] >> values[i];
        }
    
        vector<int> dp(T + 1, 0);
    
        for (int i = 0; i < M; ++i) {
            for (int j = T; j >= times[i]; --j) {
                dp[j] = max(dp[j], dp[j - times[i]] + values[i]);
            }
        }
    
        cout << dp[T] << endl;
    
        return 0;
    }
    
    
    
    
    • 1

    信息

    ID
    479
    时间
    1000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    2
    已通过
    2
    上传者