# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
416513 | victoriad | Sorting (IOI15_sorting) | C++14 | 1 ms | 332 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "sorting.h"
#include "vector"
using namespace std;
int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
vector<int>c(N);
int r=0;
for(int i=0;i<N;i++){
c[S[i]]=i;
}
if(Y[0]==0){
for(int i=0;i<N;i++){
if(S[i]!=i){
P[r]=i;
Q[r]=c[i];
int x=S[i];
S[c[i]]=x;
c[x]=c[i];
r++;
}
}
}
else{
int y=S[0];
S[0]=S[1];
S[1]=y;
c[y]=1;
c[S[0]]=0;
if(S[1]!=0){
P[r]=c[0];
Q[r]=1;
int x=S[1];
S[1]=0;
S[c[0]]=x;
c[x]=c[0];
c[0]=1;
r++;
}
y=S[0];
S[0]=S[1];
S[1]=y;
c[y]=1;
c[S[0]]=0;
for(int i=1;i<N;i++){
if(S[i]!=i){
P[r]=i;
Q[r]=c[i];
int x=S[i];
S[i]=i;
S[c[i]]=x;
c[x]=c[i];
c[i]=i;
r++;
}
}
if(r%2==1){
P[r]=0;
Q[r]=1;
r++;
}
else{
P[r]=0;
Q[r]=0;
r++;
}
}
return r;
}
Compilation message (stderr)
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |