# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
644456 | Cyanmond | Alternating Current (BOI18_alternating) | C++17 | 232 ms | 28664 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
int main() {
// input
int N, M;
std::cin >> N >> M;
std::vector<int> A(M), B(M);
for (int i = 0; i < M; ++i) {
std::cin >> A[i] >> B[i];
--A[i];
if (A[i] >= B[i]) {
B[i] += N;
}
}
// calc root
std::vector<int> root(M, -1);
std::vector<std::vector<int>> in(2 * N);
for (int i = 0; i < M; ++i) {
in[A[i]].push_back(i);
in[A[i] + N].push_back(i);
}
std::pair<int, int> max_right = {-1, 0};
for (int i = 0; i < 2 * N; ++i) {
// reverse-sort
std::sort(in[i].begin(), in[i].end(), [&](const int a, const int b) {
int r1 = B[a], r2 = B[b];
# | 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... |