# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1075198 | 2024-08-25T19:43:27 Z | ArthuroWich | 정렬하기 (IOI15_sorting) | C++17 | 29 ms | 600 KB |
#include "sorting.h" #include<bits/stdc++.h> using namespace std; vector<pair<int, int>> ans, xy, swaps; bool check(vector<int> p, int x, int n) { int s = 0; vector<int> co(n, 0); for (int i = 0; i < n; i++) { co[p[i]] = i; } for (int i = 0; i < x; i++) { swap(p[xy[i].first], p[xy[i].second]); } for (int i = 0; i < n; i++) { if (p[i] == i) { continue; } while(p[i] != i) { int j = p[i]; swaps.push_back({co[i], co[j]}); swap(co[i], co[j]); swap(p[i], p[j]); s++; } } return s <= x; } int findSwapPairs(int n, int A[], int M, int X[], int Y[], int P[], int Q[]) { vector<pair<int, int>> ans; vector<int> p(n); for (int i = 0; i < n; i++) { p[i] = A[i]; } for (int i = 0; i < M; i++) { xy.push_back({X[i], Y[i]}); } for (int i = 0; i <= M; i++) { swaps.clear(); if (check(p, i, n)) { cout << i << endl; ans = swaps; break; } } for (int i = 0; i < ans.size(); i++) { P[i] = ans[i].first; Q[i] = ans[i].second; } return ans.size(); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 344 KB | Hacked |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 344 KB | Hacked |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 344 KB | Hacked |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 344 KB | Hacked |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 29 ms | 600 KB | Unexpected character #10, but ' ' expected |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 29 ms | 600 KB | Unexpected character #10, but ' ' expected |
2 | Halted | 0 ms | 0 KB | - |