제출 #1157036

#제출 시각아이디문제언어결과실행 시간메모리
1157036kadirCloud Computing (CEOI18_clo)C++20
100 / 100
271 ms1352 KiB
#include<bits/stdc++.h> #define int long long #define ss second #define ff first #define pb push_back #define endl "\n" using namespace std; const int mod=1e9+7; signed main(){ ios::sync_with_stdio(false); cout.tie(0); cin.tie(0); int n,m; cin>>n; vector<array<int,4>> v; for(int i=1; i<=n; i++) { int c,f,u; cin>>c>>f>>u; v.pb({f,1,c,u}); } cin>>m; for(int i=1; i<=m; i++) { int c,f,u; cin>>c>>f>>u; v.pb({f,0,c,u}); } sort(v.rbegin(),v.rend()); vector<int> dp(2000*50+5,-1e18); dp[0]=0; for(auto [f,t,c,u]:v) { if(t==1) { for(int i=2000*50; i>=0; i--) { if(i-c>=0) { dp[i]=max(dp[i],dp[i-c]-u); } } } else { for(int i=0; i<=2000*50; i++) { if(i-c>=0) { dp[i-c]=max(dp[i-c],dp[i]+u); } } } } int res=0; for(int i=0; i<=2000*50; i++) { res=max(res,dp[i]); } cout<<res; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...