제출 #742593

#제출 시각아이디문제언어결과실행 시간메모리
742593shr_revsKnapsack (NOI18_knapsack)C++14
37 / 100
1085 ms324 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define br cout << endl #define sp cout << " " #define fo(i, n) for (int i = 0; i < n; i++) #define Fo(i, k, n) for (int i = k; k < n ? i < n : i > n; k < n ? i += 1 : i -= 1) #define amazing ios_base::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL); #define ff first #define ss second #define pb push_back #define file_read \ freopen("input.txt", "r", stdin); \ freopen("output.txt", "w", stdout); typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef vector<int> vi; typedef vector<ll> vl; typedef vector<string> vs; typedef vector<pii> vpii; typedef vector<pll> vpl; typedef vector<vi> vvi; typedef vector<vl> vvl; typedef map<int, int> mii; typedef map<ll, ll> mll; int MOD = 1e9 + 7; int main() { amazing; int s, n; cin >> s >> n; vi val(n), wt(n), num(n); fo(i, n) { cin >> val[i] >> wt[i] >> num[i]; } vi dp(s+1, 0); fo(i, n) { Fo(j, 1, num[i]+1) { Fo(k, s, -1) { if(k - wt[i] >= 0) dp[k] = max(dp[k], dp[k- wt[i]] + val[i]); else break; } // fo(i, s+1) cout << dp[i] << " "; // br; } } cout << dp[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...