Submission #1142857

#TimeUsernameProblemLanguageResultExecution timeMemory
1142857why1Cloud Computing (CEOI18_clo)C++20
0 / 100
52 ms584 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define pii pair<int,int> #define sz size() #define all(v) v.begin(),v.end() #define fi first #define se second const int N = 2e5; const int mod = 1e9+7; const int INF = 1e9+10; const int di[] = {1, -1, 0, 0}; const int dj[] = {0, 0, 1, -1}; pair<int,pii> a[N+1],b[N+1]; void solve() { int n,m; cin>>n; int s1=0,s2=0; for(int i = 1; i <= n; i++){ cin>>a[i].fi>>a[i].se.fi>>a[i].se.se; s1+=a[i].fi; } cin>>m; for(int i = 1; i <= m; i++){ cin>>b[i].fi>>b[i].se.fi>>b[i].se.se; s2+=b[i].fi; } int dp_max[s1+1]; for(int i = 0; i <= s1; i++){ dp_max[i]=INF; } dp_max[0]=0; for(int i = 1; i <= n; i++){ for(int j = s1; j >= a[i].fi; j--){ dp_max[j]=min(dp_max[j],dp_max[j-a[i].fi]+a[i].se.se); } } int dp_min[s2+1]; memset(dp_min,0,sizeof(dp_min)); for(int i = 1; i <= m; i++){ for(int j = s2; j >= b[i].fi; j--){ dp_min[j]=max(dp_min[j],dp_min[j-b[i].fi]+b[i].se.se); } } int ans=0; for(int i = 1; i <= s1; i++){ for(int j = 1; j <= i; j++){ ans=max(ans,dp_min[j]-dp_max[i]); } } cout<<ans<<"\n"; } int main() { //freopen("cowrun.in","r",stdin); //freopen("cowrun.out","w",stdout); ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int t=1; //cin>>t; while(t--) { solve(); } 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...
#Verdict Execution timeMemoryGrader output
Fetching results...