제출 #1275237

#제출 시각아이디문제언어결과실행 시간메모리
1275237snegleKnapsack (NOI18_knapsack)C++20
37 / 100
1095 ms1100 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> pll; typedef vector<ll> vll; typedef vector<vll> vvll; typedef vector<char> vc; typedef vector<vc> vvc; typedef vector<string> vs; typedef vector<vs> vvs; typedef vector<bool> vb; typedef vector<vb > vvb; typedef vector<pll> vpll; typedef vector<vpll> vvpll; const int MOD = 1e9 + 7; const ll INF = (LLONG_MAX/2)-1; #define dbg(v) cout << "Line(" << __LINE__ << ") -> " << #v << " = " << (v) << endl; int main() { int n,s; cin>>s>>n; vector<int> verdi(n+1); vector<int> vekt(n+1); vector<int> antall(n+1); for (int i=1;i<=n;i++){cin>>verdi[i]>>vekt[i]>>antall[i];} vector<vector<int>> dp(n+1,vector<int> (s+1)); for (int i=1;i<=n;i++) { for (int j=0;j<=s;j++) { dp[i][j] = dp[i-1][j]; for (int k=1;k<=antall[i];k++) { if (j-k*vekt[i] >= 0) { dp[i][j] = max(dp[i][j], dp[i-1][j-k*vekt[i]] + k*verdi[i]); } } } } cout<<dp[n][s]<<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...