# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
274625 | evpipis | Teleporters (IOI08_teleporters) | C++11 | 759 ms | 54376 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.
#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
typedef pair<int, int> ii;
const int len = 2e6+5;
int vis[len], nex[len];
vector<ii> vec;
priority_queue<int> pq;
int dfs(int u){
vis[u] = 1;
int ans = 1;
if (!vis[nex[u]])
ans += dfs(nex[u]);
return ans;
}
int main(){
int n, m;
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++){
int a, b;
scanf("%d %d", &a, &b);
vec.pb(mp(a, 2*i));
vec.pb(mp(b, 2*i+1));
}
sort(vec.begin(), vec.end());
for (int i = 0; i < 2*n-1; i++)
nex[vec[i].se] = vec[i+1].se^1;
int st = 2*n;
nex[st] = vec[0].se^1;
nex[vec[2*n-1].se] = st;
vis[st] = 1;
int ans = dfs(nex[st]);
for (int i = 0; i < 2*n; i++)
if (!vis[i])
pq.push(dfs(i));
while (m--){
if (pq.empty())
ans++, pq.push(1);
else
ans += 2+pq.top(), pq.pop();
}
printf("%d\n", ans);
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... |
# | 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... |