Submission #1131650

#TimeUsernameProblemLanguageResultExecution timeMemory
1131650banh@@notpro33Knapsack (NOI18_knapsack)C++20
37 / 100
1 ms328 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int nmax = 1e5 + 5;
int n, m, a[nmax], w[nmax], v[nmax];
int dp[2005];
int main()
{
    cin.tie(0)->sync_with_stdio(0);
    cin >> m >> n;
    for (int i = 1; i <= n; i++)
    {
        cin >> v[i] >> w[i] >> a[i];
    }
    for (int i = 1; i <= n; i++)
    {
        int x = a[i];
        for (int k = 1; x > 0; k <<= 1)
        {
            int r = min(x, k);
            for (int j = m; j >= w[i] * r; j--)
            {
                dp[j] = max(dp[j], dp[j - w[i] * r] + v[i] * r);
            }
            x -= r;
        }
    }
    cout << dp[m];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...