1 solutions

  • 0
    @ 2024-8-28 23:42:20
    #include <iostream>
    using namespace std;
    
    const int N = 1010;
    
    int f[N];
    
    int main()
    {
        int t, m;
        cin >> t >> m;
        for(int i = 1; i <= m; i ++ )
        {
            int w, v;
            cin >> v >> w;
            for(int j = t; j >= v; j -- ) 
                f[j] = max(f[j], f[j - v] + w);
        }
        cout << f[t] << endl;
        return 0;
    }
    

    一个比较经典的背包问题

    • 1

    Information

    ID
    422
    Time
    1000ms
    Memory
    512MiB
    Difficulty
    10
    Tags
    # Submissions
    1
    Accepted
    1
    Uploaded By