제출 #1277134

#제출 시각아이디문제언어결과실행 시간메모리
1277134I_FloPPed21Cloud Computing (CEOI18_clo)C++20
72 / 100
624 ms1940 KiB
#include <bits/stdc++.h> using namespace std; const int N=2005; struct procesor { long long cores,frv,scor; bool operator<(const procesor &other)const { return frv>other.frv; } }v[N]; int n; void read() { cin>>n; long long total=0; vector<procesor>merged; for(int i=1;i<=n;i++) { cin>>v[i].cores>>v[i].frv>>v[i].scor; v[i].scor=(-v[i].scor); merged.push_back(v[i]); total+=v[i].cores; } int m; cin>>m; for(int i=1;i<=m;i++) { cin>>v[i].cores>>v[i].frv>>v[i].scor; v[i].cores=(-v[i].cores); merged.push_back(v[i]); } sort(merged.begin(),merged.end()); long long ans=-1e8; vector<long long>knp(total+2,-1e16); knp[0]=0; for(auto [cores,frv,scor]:merged) { vector<long long>knp2(total+2,-1e16); knp2[0]=0; for(int i=0;i<=total;i++) { if(i+cores>=0&&i+cores<=total) { knp2[i+cores]=max(knp2[i+cores],knp[i]+scor); } } for(int i=0;i<=total;i++) { knp[i]=max(knp[i],knp2[i]); ans=max(ans,knp[i]); } } cout<<ans<<'\n'; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); read(); 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...