Submission #1260072

#TimeUsernameProblemLanguageResultExecution timeMemory
1260072danghuyCloud Computing (CEOI18_clo)C++20
72 / 100
157 ms1356 KiB
#include <bits/stdc++.h> using namespace std; #define yes cout<<"YES"<<'\n' #define no cout<<"NO"<<'\n' #define si size() #define fi first #define se second #define ll long long #define sr sort #define pb push_back const ll MAXN=1e5+5,MOD=1e9+7; ll n,m,j,k,p,i,f,dem,ans,t,l,r=1,dp[MAXN],prefix[MAXN]; struct huy{ ll cnt,fast,cost,id; }; bool cmp(huy x,huy y){ return (x.fast>y.fast||(x.fast==y.fast&&x.cost<y.cost)); } huy a[MAXN]; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr);cout.tie(0); // freopen("test.INP","r",stdin); // freopen("test.OUT","w",stdout); cin>>n; for(i=1;i<=n;i++){ cin>>a[i].cnt>>a[i].fast>>a[i].cost; a[i].id=i; } cin>>m; for(i=n+1;i<=n+m;i++){ cin>>a[i].cnt>>a[i].fast>>a[i].cost; a[i].id=i; } for(i=1;i<=MAXN-5;i++) dp[i]=-1e15; sort(a+1,a+n+m+1,cmp); ll dem=0; for(i=1;i<=n+m;i++){ if(a[i].id<=n){ for(j=dem;j>=0;j--){ dp[j+a[i].cnt]=max(dp[j+a[i].cnt],dp[j]-a[i].cost); } dem+=a[i].cnt; } else{ for(j=a[i].cnt;j<=dem;j++) dp[j-a[i].cnt]=max(dp[j-a[i].cnt],dp[j]+a[i].cost); } } cout<<*max_element(dp,dp+MAXN-5+1); }
#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...