| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1325699 | kasamchi | Teleporters (IOI08_teleporters) | C++20 | 323 ms | 39704 KiB |
#include <bits/stdc++.h>
using namespace std;
int tp[2000001], nxt[2000001];
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int N, M;
cin >> N >> M;
vector<int> W(N), E(N);
for (int i = 0; i < N; i++) {
cin >> W[i] >> E[i];
}
for (int i = 0; i < N; i++) {
tp[W[i]] = E[i];
tp[E[i]] = W[i];
}
vector<int> poss;
for (int i = 0; i < N; i++) {
poss.push_back(W[i]);
poss.push_back(E[i]);
}
sort(poss.begin(), poss.end());
for (int i = 0; i + 1 < N + N; i++) {
nxt[poss[i]] = poss[i + 1];
}
poss[N + N - 1] = 2000001;
vector<int> szs;
for (int i = 0; i < 2000001; i++) {
if (tp[i]) {
int pos = i, len = 0;
while (pos < 2000001 && tp[pos]) {
int np = nxt[tp[pos]];
tp[pos] = 0, len++;
pos = np;
}
szs.push_back(len);
}
}
sort(szs.begin() + 1, szs.end(), greater<>());
if (M >= szs.size() - 1) {
cout << (N + M) * 2 - (M - szs.size() + 1) % 2 << '\n';
} else {
int ans = szs[0];
for (int i = 1; i <= M; i++) {
ans += szs[i];
}
cout << ans + M * 2 << '\n';
}
}| # | 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... | ||||
