Submission #441001

# Submission time Handle Problem Language Result Execution time Memory
441001 2021-07-03T21:35:09 Z asdf1234coding Knapsack (NOI18_knapsack) C++14
73 / 100
249 ms 262148 KB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
#define ll long long
#define MOD (ll) (1e9+7)

int main() {
    ios_base::sync_with_stdio(false);
    ll s,n; cin>>s>>n;
    vector<int> v; // cost
    vector<int> w; // weight
    vector<int> k; // copies

    
    for(ll i=0; i<n; i++) {
        ll a,b,c; cin>>a>>b>>c;
        v.push_back(a); w.push_back(b); k.push_back(c);
    }

    vector<vector<int> > dp(n+1, vector<int> (s+1));

    dp[0][0] = 0;

    for(int i=1; i<=n; i++) {
        for(int j=0; j<=s; j++) {
            for(int m=0; m<=k[i-1]; m++) {
                if(j>=(m*w[i-1])) { // if our current weight is greater than the weight of m copies of i
                    dp[i][j] = max(dp[i][j], dp[i-1][j-(m*w[i-1])] + m*v[i-1]);
                    //cout<<dp[i][j]<<'\t'<<i<<'\t'<<j<<'\t'<<endl;
                } else {
                    break;
                }
            }
        }
    }
    cout<<dp[n][s]<<endl;

}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 2 ms 1100 KB Output is correct
3 Correct 2 ms 972 KB Output is correct
4 Correct 2 ms 1100 KB Output is correct
5 Correct 3 ms 972 KB Output is correct
6 Correct 2 ms 1100 KB Output is correct
7 Correct 2 ms 1100 KB Output is correct
8 Correct 2 ms 1084 KB Output is correct
9 Correct 2 ms 972 KB Output is correct
10 Correct 2 ms 1100 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 2 ms 1100 KB Output is correct
3 Correct 2 ms 972 KB Output is correct
4 Correct 2 ms 1100 KB Output is correct
5 Correct 3 ms 972 KB Output is correct
6 Correct 2 ms 1100 KB Output is correct
7 Correct 2 ms 1100 KB Output is correct
8 Correct 2 ms 1084 KB Output is correct
9 Correct 2 ms 972 KB Output is correct
10 Correct 2 ms 1100 KB Output is correct
11 Correct 0 ms 204 KB Output is correct
12 Correct 5 ms 1100 KB Output is correct
13 Correct 2 ms 972 KB Output is correct
14 Correct 2 ms 1100 KB Output is correct
15 Correct 2 ms 1100 KB Output is correct
16 Correct 2 ms 1100 KB Output is correct
17 Correct 2 ms 972 KB Output is correct
18 Correct 2 ms 972 KB Output is correct
19 Correct 2 ms 972 KB Output is correct
20 Correct 2 ms 1100 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 2 ms 1100 KB Output is correct
7 Correct 2 ms 972 KB Output is correct
8 Correct 2 ms 1100 KB Output is correct
9 Correct 3 ms 972 KB Output is correct
10 Correct 2 ms 1100 KB Output is correct
11 Correct 2 ms 1100 KB Output is correct
12 Correct 2 ms 1084 KB Output is correct
13 Correct 2 ms 972 KB Output is correct
14 Correct 2 ms 1100 KB Output is correct
15 Correct 0 ms 204 KB Output is correct
16 Correct 5 ms 1100 KB Output is correct
17 Correct 2 ms 972 KB Output is correct
18 Correct 2 ms 1100 KB Output is correct
19 Correct 2 ms 1100 KB Output is correct
20 Correct 2 ms 1100 KB Output is correct
21 Correct 2 ms 972 KB Output is correct
22 Correct 2 ms 972 KB Output is correct
23 Correct 2 ms 972 KB Output is correct
24 Correct 2 ms 1100 KB Output is correct
25 Correct 1 ms 204 KB Output is correct
26 Correct 249 ms 1100 KB Output is correct
27 Correct 2 ms 972 KB Output is correct
28 Correct 2 ms 972 KB Output is correct
29 Correct 2 ms 1100 KB Output is correct
30 Correct 3 ms 1036 KB Output is correct
31 Correct 2 ms 1100 KB Output is correct
32 Correct 2 ms 1100 KB Output is correct
33 Correct 2 ms 972 KB Output is correct
34 Correct 2 ms 972 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 2 ms 1100 KB Output is correct
7 Correct 2 ms 972 KB Output is correct
8 Correct 2 ms 1100 KB Output is correct
9 Correct 3 ms 972 KB Output is correct
10 Correct 2 ms 1100 KB Output is correct
11 Correct 2 ms 1100 KB Output is correct
12 Correct 2 ms 1084 KB Output is correct
13 Correct 2 ms 972 KB Output is correct
14 Correct 2 ms 1100 KB Output is correct
15 Correct 0 ms 204 KB Output is correct
16 Correct 5 ms 1100 KB Output is correct
17 Correct 2 ms 972 KB Output is correct
18 Correct 2 ms 1100 KB Output is correct
19 Correct 2 ms 1100 KB Output is correct
20 Correct 2 ms 1100 KB Output is correct
21 Correct 2 ms 972 KB Output is correct
22 Correct 2 ms 972 KB Output is correct
23 Correct 2 ms 972 KB Output is correct
24 Correct 2 ms 1100 KB Output is correct
25 Correct 1 ms 204 KB Output is correct
26 Correct 249 ms 1100 KB Output is correct
27 Correct 2 ms 972 KB Output is correct
28 Correct 2 ms 972 KB Output is correct
29 Correct 2 ms 1100 KB Output is correct
30 Correct 3 ms 1036 KB Output is correct
31 Correct 2 ms 1100 KB Output is correct
32 Correct 2 ms 1100 KB Output is correct
33 Correct 2 ms 972 KB Output is correct
34 Correct 2 ms 972 KB Output is correct
35 Correct 34 ms 6936 KB Output is correct
36 Runtime error 141 ms 262148 KB Execution killed with signal 9
37 Halted 0 ms 0 KB -