제출 #780786

#제출 시각아이디문제언어결과실행 시간메모리
780786makanhuliaKnapsack (NOI18_knapsack)C++17
73 / 100
124 ms262144 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; #define fi first #define se second #define pb push_back #define TC int t; cin>>t; while(t--) #define all(x) (x).begin(),(x).end() //*AC BERSAMA ALLAH FORTIS FORTUNA ADIUVAT int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int energi,tipe; cin>>energi>>tipe; vector<pair<pair<ll,ll>,ll > > v(tipe+1); ll dp[tipe+1][energi+1]; memset(dp,0,sizeof(dp)); for(int i=1;i<=tipe;i++){ ll l,e,k; cin>>l>>e>>k; v[i]=make_pair(make_pair(l,e),k); // luas, energi, kuantiti } for(int i=1;i<=tipe;i++){ for(int j=1;j<=energi;j++){ dp[i][j]=dp[i-1][j]; ll kuant=v[i].se, en=v[i].fi.se; if(kuant>2000) kuant=2000; for(int k=1;k<=kuant;k++){ if(j>=en*k){ if(dp[i-1][j-k*en]+k*v[i].fi.fi>dp[i][j]){ dp[i][j]=dp[i-1][j-k*en]+k*v[i].fi.fi; } } else break; } } } cout<<dp[tipe][energi]<<'\n'; 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...