제출 #1103394

#제출 시각아이디문제언어결과실행 시간메모리
1103394Mauricio_CruzKnapsack (NOI18_knapsack)C++17
29 / 100
2 ms504 KiB
#include <bits/stdc++.h> using namespace std; #define srtl(x)sort((x).begin(),(x).end()) #define srtg(x)sort((x).begin(),(x).end(),greater<>()) #define ios ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define f first #define s second #define pb push_back #define pii pair<int,int> #define ins insert #define vi vector<int> #define vii vector<pii> #define viii vector<pair<int,pii>> int ax[4]={0,1,0,-1}; int ay[4]={1,0,-1,0}; #define int long long int32_t main(){ ios; int k,n; cin>>k>>n; int a[n][3]; for(int i=0;i<n;i++){ for(int j=0;j<3;j++)cin>>a[i][j]; } vector<int>dp(k+1,0); for(int i=0;i<n;i++){ for(int j=k;j>=a[i][1];j--){ int mul=1; int a2=a[i][2]; bool xd=1; for(int l=j-a[i][1];l>=0&&a2!=0&&xd;l-=a[i][1],a2--){ xd=0; if(dp[j]<=dp[l]+(a[i][0]*mul)){ xd=1; dp[j]=dp[l]+(a[i][0]*mul); } mul++; } } } cout<<dp[k]; 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...