Submission #1172355

#TimeUsernameProblemLanguageResultExecution timeMemory
1172355dbekarysKnapsack (NOI18_knapsack)C++20
37 / 100
46 ms49728 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int mod=1e9+7; const int N=1e4+7; const long long besk=1e18; int used[N],p[N],c=0; //vector<int>v[N]; int dp[2000][N]; signed main() { ios_base::sync_with_stdio(0); cin.tie(); int m,n; cin>> m>>n; int a[n+1],b[n+1]; vector<int>v1,v2,k; k.push_back(0); for(int i=1,c;i<=n;i++){ cin>> b[i]>>a[i]>>c; k.push_back(c); for(int k=0;k<c;k++){ v1.push_back(a[i]),v2.push_back(b[i]); } } if(n == 1) { int s = m / b[1] ; if(s >= k[1]) { cout << a[1] * k[1] ; } else { cout << a[1] * s ; } return 0; } for(int i=1;i<=v1.size();i++){ for(int j=1;j<=m;j++){ dp[i][j]=dp[i-1][j]; if(v1[i-1]<=j){ dp[i][j]=max(dp[i][j],dp[i-1][j-v1[i-1]]+v2[i-1]); } } } cout<< dp[v1.size()][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...