# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
60138 | 2018-07-23T17:37:13 Z | dukati8 | 정렬하기 (IOI15_sorting) | C++14 | 41 ms | 504 KB |
#include "sorting.h" #include <bits/stdc++.h> #define rep(i,a,b) for (int i=a; i<int(b); i++) using namespace std; vector<pair<int, int> > moves; int movestofix(int Ii[],int Ss[], int N) { int I[N], S[N]; rep (i,0,N) { I[i]=Ii[i];S[i]=Ss[i];} moves.clear(); //I[i] is not value at i, but index of value i in S int counter=0; rep(i,0,N) { if (S[i]==i) continue; counter++; int a,b; a=i; b=I[i]; //a och b byter plats int sa,sb; sa=S[a]; sb=S[b]; moves.push_back(make_pair(a,b)); S[a]=sb; S[b]=sa; I[sa]=b; I[sb]=a; } moves.push_back(make_pair(0,0)); return counter; } int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) { int I[N]; rep (i,0,N) { I[S[i]]=i; } int i=0; while (movestofix(I,S,N)>i) { int a,b; a=X[i]; b=Y[i]; //a och b byter plats int sa,sb; sa=S[a]; sb=S[b]; S[a]=sb; S[b]=sa; I[sa]=b; I[sb]=a; i++; } for (int j=i-1;j>=0; j--) { P[j]=moves[j].first; Q[j]=moves[j].second; rep (k,0,j-1) { if (moves[j].first==X[j]) moves[j].first=Y[j]; else if (moves[j].first==Y[j]) moves[j].first=X[j]; if (moves[j].second==X[j]) moves[j].second=Y[j]; else if (moves[j].second==Y[j]) moves[j].second=X[j]; } } return i; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | Output is correct |
2 | Correct | 2 ms | 256 KB | Output is correct |
3 | Correct | 3 ms | 256 KB | Output is correct |
4 | Correct | 2 ms | 384 KB | Output is correct |
5 | Correct | 4 ms | 384 KB | Output is correct |
6 | Correct | 2 ms | 256 KB | Output is correct |
7 | Correct | 2 ms | 256 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | Output is correct |
2 | Correct | 2 ms | 256 KB | Output is correct |
3 | Correct | 3 ms | 256 KB | Output is correct |
4 | Correct | 2 ms | 384 KB | Output is correct |
5 | Correct | 4 ms | 384 KB | Output is correct |
6 | Correct | 2 ms | 256 KB | Output is correct |
7 | Correct | 2 ms | 256 KB | Output is correct |
8 | Correct | 4 ms | 384 KB | Output is correct |
9 | Correct | 3 ms | 256 KB | Output is correct |
10 | Correct | 3 ms | 384 KB | Output is correct |
11 | Correct | 3 ms | 384 KB | Output is correct |
12 | Correct | 3 ms | 384 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | Output is correct |
2 | Incorrect | 3 ms | 384 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | Output is correct |
2 | Correct | 2 ms | 256 KB | Output is correct |
3 | Correct | 3 ms | 256 KB | Output is correct |
4 | Correct | 2 ms | 384 KB | Output is correct |
5 | Correct | 4 ms | 384 KB | Output is correct |
6 | Correct | 2 ms | 256 KB | Output is correct |
7 | Correct | 2 ms | 256 KB | Output is correct |
8 | Correct | 4 ms | 384 KB | Output is correct |
9 | Correct | 3 ms | 256 KB | Output is correct |
10 | Correct | 3 ms | 384 KB | Output is correct |
11 | Correct | 3 ms | 384 KB | Output is correct |
12 | Correct | 3 ms | 384 KB | Output is correct |
13 | Correct | 2 ms | 384 KB | Output is correct |
14 | Incorrect | 3 ms | 384 KB | Output isn't correct |
15 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 41 ms | 504 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 41 ms | 504 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |