Submission #438594

# Submission time Handle Problem Language Result Execution time Memory
438594 2021-06-28T09:30:37 Z Haidara Knapsack (NOI18_knapsack) C++17
49 / 100
1000 ms 1100 KB
        /* * * * * * * * * *
         *   ID: Haidara   *
         *   LANG: C++17   *
         *   PROB:         *
         * * * * * * * * * */
        #include<bits/stdc++.h>
        #define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
        #define rep(i,x,n) for(int i=x;i<n;i++)
        #define FOR(i,n) rep(i,0,n)
        #define per(i,x,n) for(int i=x;i>n;i--)
        #define ROF(i,x) for(int i=x;i>=0;i--)
        #define v(i) vector< i >
        #define p(i,j) pair< i , j >
        #define pii pair<int,int>
        #define m(i,j) map< i , j >
        #define pq(i) priority_queue< i >
        #define ff first
        #define all(x) x.begin(),x.end()
        #define ss second
        #define pp push_back
        using namespace std;
        const int maxn=100002;
        int s,n,v[maxn],w[maxn],k[maxn],dp[maxn][2002];
        int solve(int inx=0,int curr=0)
        {
            if(dp[inx][curr])
                return dp[inx][curr];
            if(inx==n)
                return 0;
            FOR(i,k[inx]+1)
            {
                if(curr+i*w[inx]<s)
                    dp[inx][curr]=max(dp[inx][curr],solve(inx+1,curr+i*w[inx])+i*v[inx]);
              	else if(curr+i*w[inx]==s){
                  	dp[inx][curr]=max(dp[inx][curr],i*v[inx]);break;}
              	else
                    break;
            }
            return dp[inx][curr];
        }
        signed main()
        {
            cin>>s>>n;
            FOR(i,n)
            {
                cin>>v[i]>>w[i]>>k[i];
                k[i]=min(k[i],s/max(1,w[i]-1));
            }
            cout<<solve();
        }
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 2 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 716 KB Output is correct
2 Correct 1 ms 716 KB Output is correct
3 Correct 1 ms 716 KB Output is correct
4 Correct 1 ms 716 KB Output is correct
5 Correct 2 ms 716 KB Output is correct
6 Correct 5 ms 972 KB Output is correct
7 Correct 6 ms 972 KB Output is correct
8 Correct 15 ms 964 KB Output is correct
9 Correct 8 ms 972 KB Output is correct
10 Correct 7 ms 972 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 716 KB Output is correct
2 Correct 1 ms 716 KB Output is correct
3 Correct 1 ms 716 KB Output is correct
4 Correct 1 ms 716 KB Output is correct
5 Correct 2 ms 716 KB Output is correct
6 Correct 5 ms 972 KB Output is correct
7 Correct 6 ms 972 KB Output is correct
8 Correct 15 ms 964 KB Output is correct
9 Correct 8 ms 972 KB Output is correct
10 Correct 7 ms 972 KB Output is correct
11 Correct 2 ms 588 KB Output is correct
12 Correct 17 ms 776 KB Output is correct
13 Correct 1 ms 716 KB Output is correct
14 Correct 1 ms 716 KB Output is correct
15 Correct 3 ms 716 KB Output is correct
16 Correct 13 ms 1080 KB Output is correct
17 Correct 9 ms 972 KB Output is correct
18 Correct 7 ms 972 KB Output is correct
19 Correct 7 ms 972 KB Output is correct
20 Correct 7 ms 1100 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 2 ms 204 KB Output is correct
5 Correct 1 ms 716 KB Output is correct
6 Correct 1 ms 716 KB Output is correct
7 Correct 1 ms 716 KB Output is correct
8 Correct 1 ms 716 KB Output is correct
9 Correct 2 ms 716 KB Output is correct
10 Correct 5 ms 972 KB Output is correct
11 Correct 6 ms 972 KB Output is correct
12 Correct 15 ms 964 KB Output is correct
13 Correct 8 ms 972 KB Output is correct
14 Correct 7 ms 972 KB Output is correct
15 Correct 2 ms 588 KB Output is correct
16 Correct 17 ms 776 KB Output is correct
17 Correct 1 ms 716 KB Output is correct
18 Correct 1 ms 716 KB Output is correct
19 Correct 3 ms 716 KB Output is correct
20 Correct 13 ms 1080 KB Output is correct
21 Correct 9 ms 972 KB Output is correct
22 Correct 7 ms 972 KB Output is correct
23 Correct 7 ms 972 KB Output is correct
24 Correct 7 ms 1100 KB Output is correct
25 Correct 1 ms 716 KB Output is correct
26 Execution timed out 1041 ms 1080 KB Time limit exceeded
27 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 2 ms 204 KB Output is correct
5 Correct 1 ms 716 KB Output is correct
6 Correct 1 ms 716 KB Output is correct
7 Correct 1 ms 716 KB Output is correct
8 Correct 1 ms 716 KB Output is correct
9 Correct 2 ms 716 KB Output is correct
10 Correct 5 ms 972 KB Output is correct
11 Correct 6 ms 972 KB Output is correct
12 Correct 15 ms 964 KB Output is correct
13 Correct 8 ms 972 KB Output is correct
14 Correct 7 ms 972 KB Output is correct
15 Correct 2 ms 588 KB Output is correct
16 Correct 17 ms 776 KB Output is correct
17 Correct 1 ms 716 KB Output is correct
18 Correct 1 ms 716 KB Output is correct
19 Correct 3 ms 716 KB Output is correct
20 Correct 13 ms 1080 KB Output is correct
21 Correct 9 ms 972 KB Output is correct
22 Correct 7 ms 972 KB Output is correct
23 Correct 7 ms 972 KB Output is correct
24 Correct 7 ms 1100 KB Output is correct
25 Correct 1 ms 716 KB Output is correct
26 Execution timed out 1041 ms 1080 KB Time limit exceeded
27 Halted 0 ms 0 KB -