# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
544891 | wenqi | Hotel (CEOI11_hot) | C++17 | 333 ms | 12312 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
// trans rights
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int N, M, O;
int V[500069];
vector<pair<int, int>> rooms, customers;
int getv(int i)
{
return i == V[i] ? i : V[i] = getv(V[i]);
}
int main(int argc, const char *argv[])
{
scanf("%d%d%d", &N, &M, &O);
for (int i = 0; i < N; i++)
{
int c, p;
scanf("%d%d", &c, &p);
rooms.push_back({p, c});
V[i] = i;
}
V[N] = N;
sort(rooms.begin(), rooms.end());
for (int i = 0; i < M; i++)
{
int v, d;
scanf("%d%d", &v, &d);
customers.push_back({d, v});
}
sort(customers.begin(), customers.end(), [](const pair<int, int>& a, const pair<int, int>& b){
return a.second > b.second;
});
ll profit = 0;
for (auto &c : customers)
{
if (O <= 0)
break;
auto [d, v] = c;
int a = 0;
int b = N + 1;
while (b - a > 1)
{
int m = (a + b) / 2;
if (rooms[m - 1].first >= d)
b = m;
else
a = m;
}
int room = getv(a);
if (room >= N)
continue;
int potential = v - rooms[room].second;
if (potential > 0)
{
O--;
V[room]++;
profit += potential;
}
}
printf("%lld\n", profit);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |