Submission #484916

#TimeUsernameProblemLanguageResultExecution timeMemory
484916Bench0310Hotel (CEOI11_hot)C++17
40 / 100
4085 ms20804 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { ios::sync_with_stdio(0); cin.tie(0); int n,m,o; cin >> n >> m >> o; vector<array<int,2>> ini(n+1,{0,0}); for(int i=1;i<=n;i++) cin >> ini[i][1] >> ini[i][0]; sort(ini.begin(),ini.end()); vector<int> p(n+1,0); vector<int> c(n+1,0); for(int i=1;i<=n;i++) { p[i]=ini[i][0]; c[i]=ini[i][1]; } vector<bool> vis(n+1,0); vector<array<int,2>> v(m); for(auto &[d,x]:v) { cin >> x >> d; int idx=1; while(idx<=n&&p[idx]<d) idx++; d=idx; } ll res=0; while(o>0) { array<int,3> mx={0,0}; for(int i=0;i<m;i++) { auto [d,x]=v[i]; if(d==n+1) continue; int j=d; while(j<=n&&vis[j]) j++; if(j<=n) mx=max(mx,{x-c[j],i,j}); } auto [r,i,j]=mx; if(r>=0) { res+=r; v.erase(v.begin()+i); vis[j]=1; o--; } else break; } cout << res << "\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...
#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...