# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
787715 | 2023-07-19T11:35:40 Z | vnm06 | 정렬하기 (IOI15_sorting) | C++14 | 1 ms | 340 KB |
#include "sorting.h" #include<bits/stdc++.h> using namespace std; int n; int a[200005]; int b[200005]; int sp[2][200005], brsp=0; int pos[200005]; int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) { n=N; for(int i=0; i<n; i++) a[i]=S[i]; int le=-1, ri=M; for(int i=0; i<n; i++) b[i]=a[i]; for(int i=0; i<n; i++) pos[b[i]]=i; for(int i=0; i<n; i++) { if(b[i]==i+1) continue; sp[0][brsp]=b[i]; sp[1][brsp]=i+1; brsp++; int tp=pos[i+1]; pos[b[i]]=pos[i+1]; pos[i+1]=i; swap(b[i], b[tp]); } ri=brsp; for(int i=0; i<n; i++) pos[a[i]]=i; for(int i=0; i<brsp; i++) { P[i]=pos[sp[0][i]]; Q[i]=pos[sp[1][i]]; swap(pos[sp[0][i]], pos[sp[1][i]]); swap(a[pos[sp[0][i]]], a[pos[sp[1][i]]]); } for(int i=brsp; i<ri; i++) P[i]=Q[i]=0; return ri; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Incorrect | 0 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Incorrect | 0 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Incorrect | 0 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 340 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 340 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |