Submission #875417

#TimeUsernameProblemLanguageResultExecution timeMemory
875417lalig777Hotel (CEOI11_hot)C++14
100 / 100
700 ms26452 KiB
#include <iostream> #include <vector> #include <algorithm> #include <queue> using namespace std; int main(){ int n, m, o; priority_queue<int>pq; cin>>n>>m>>o; vector<pair<int,int> >habitacions(n); vector<int>max_prof(n, 0); vector<pair<int,int> >offers(m); for (int i=0; i<n; i++) cin>>habitacions[i].first>>habitacions[i].second; sort(habitacions.begin(), habitacions.end()); for (int i=0; i<m; i++) cin>>offers[i].second>>offers[i].first; sort(offers.begin(), offers.end()); int k=0; for (int i=0; i<n; i++){ int max_people=habitacions[i].second; for (int j=k; j<m; j++){ if (offers[j].first<=max_people) pq.push(offers[j].second); else{ k=j; break; }if (j==m-1) k=m; }if (!pq.empty()){ max_prof[i]=max(0, pq.top()-habitacions[i].first); pq.pop(); } }sort(max_prof.begin(), max_prof.end()); long long int ans=0; for (int i=n-1; i>=n-o; i--) ans+=max_prof[i]; cout<<ans<<endl; 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...