Submission #488359

#TimeUsernameProblemLanguageResultExecution timeMemory
488359ali22413836Knapsack (NOI18_knapsack)C++14
12 / 100
1 ms1868 KiB
#include <bits/stdc++.h> #define endl "\n" using namespace std ; typedef long long ll; typedef long double ld ; const int N=2e7; const ll inf=1e18 ; const ll mod = 1e9 + 7 ; ll mypower(ll x, ll y){ if(y == 0) return 1 ; if(y == 1) return x ; ll ret = mypower(x , y / 2); ret = (ret * ret) % mod; if(y % 2) ret = ( ret * x ) % mod ; return ret ; } ll to , n , dp[2001][101] ; ll wa[200009] , v[200009] , k[200009] ; int main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin >> to >> n ; for(int i = 1 ; i <= n ; i++){ cin >> v[i] >> wa[i] >> k[i] ; } if(n == 1){ cout << min(to / wa[1] , k[1]) * v[1] << endl ; return 0 ; } memset(dp , 0 , sizeof dp) ; for(int j = 0 ; j <= n ; j++){ for(int i = 1 ; i <= to ; i++){ if(i - wa[j] >= 0) dp[i][j] = max(dp[i][j] , dp[i-wa[j]][j] + v[j]) ; else dp[i][j] = dp[i][j-1] ; } } cout << dp[to][n] << endl ; return 0 ; }
#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...