# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1175550 | vyaduct | Knapsack (NOI18_knapsack) | C++20 | 1095 ms | 2632 KiB |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
void setIo(string in="", string out=""){
if (!in.empty() && !out.empty()){
freopen(in.c_str(), "r", stdin);
freopen(out.c_str(), "w", stdout);
}
ios::sync_with_stdio(false);
cin.tie(0);
}
#define all(c) (c).begin(), (c).end()
#define sz(c) (int)(c).size()
#define vt vector
#define pb push_back
#define F first
#define S second
void solve(){
int n,s; cin>>s>>n;
vt<ll> v(n), w(n), k(n);
vt<ll> dp(s+1, 0);
for (int i=0;i<n;i++){
cin>>v[i]>>w[i]>>k[i];
k[i] = min(k[i], 2000LL);
}
for (int i=0;i<n;i++){
for (int cn=1;cn<=k[i];cn++){
for (int x=s;x>=w[i];x--){
dp[x] = max(dp[x], dp[x-w[i]]+v[i]);
}
}
}
cout << dp[s] << endl;
}
int main() {
setIo();
int tt=1;
// cin>>tt;
while(tt--) solve();
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |