# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
441887 | 2021-07-06T13:41:10 Z | rainboy | Teleporters (IOI08_teleporters) | C | 683 ms | 52136 KB |
#include <stdio.h> #include <string.h> #define N 1000000 #define X 2000000 int main() { static int xx[N * 2], ii[N * 2], pp[N * 2], cc[N * 2], kk[X + 1]; static char visited[N * 2]; int n, n_, m, h, i, c, x, ans; scanf("%d%d", &n, &m); for (i = 0; i < n * 2; i++) { scanf("%d", &xx[i]); kk[xx[i]]++; } for (x = 1; x <= X; x++) kk[x] += kk[x - 1]; for (i = 0; i < n * 2; i++) ii[kk[xx[i] - 1]++] = i; for (h = 0; h < n * 2; h++) pp[ii[h]] = h + 1 == n * 2 ? -1 : ii[h + 1] ^ 1; ans = 0; for (i = ii[0] ^ 1; i != -1; i = pp[i]) visited[i] = 1, ans++; memset(kk, 0, (n + 1) * sizeof *kk); for (i = 0; i < n * 2; i++) if (!visited[i]) { c = 0; while (!visited[i]) { visited[i] = 1, c++; i = pp[i]; } kk[c]++; while (visited[i] == 1) { visited[i] = 2; i = pp[i]; } } n_ = 0; for (c = n; c >= 1; c--) while (kk[c]--) cc[n_++] = c; for (i = 0; i < n_ && i < m; i++) ans += cc[i]; ans += m * 2 - (m > n_ ? (m - n_) % 2 : 0); printf("%d\n", ans); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 8140 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 9 ms | 8032 KB | Output isn't correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 10 ms | 8140 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 8140 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 8140 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 10 ms | 8044 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 10 ms | 8108 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 8076 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 8140 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 10 ms | 8140 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 8056 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 10 ms | 8152 KB | Output is correct |
2 | Correct | 13 ms | 8424 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 10 ms | 8268 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 14 ms | 8560 KB | Output isn't correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 15 ms | 8616 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 66 ms | 11672 KB | Output is correct |
2 | Correct | 201 ms | 16344 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 132 ms | 14008 KB | Output is correct |
2 | Correct | 292 ms | 20200 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 429 ms | 25736 KB | Output is correct |
2 | Correct | 571 ms | 29264 KB | Output is correct |
3 | Correct | 571 ms | 32404 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 659 ms | 31940 KB | Output is correct |
2 | Correct | 650 ms | 34328 KB | Output is correct |
3 | Correct | 578 ms | 33480 KB | Output is correct |
4 | Incorrect | 662 ms | 33784 KB | Output isn't correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 683 ms | 36144 KB | Output is correct |
2 | Correct | 662 ms | 50792 KB | Output is correct |
3 | Correct | 353 ms | 52088 KB | Output is correct |
4 | Correct | 634 ms | 52136 KB | Output is correct |