# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
285415 | amiratou | Sorting (IOI15_sorting) | C++14 | 358 ms | 22648 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 <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define sz(x) (int)x.size()
typedef long long ll;
typedef pair<int,int> ii;
int tab[200005],pos[200005],L;
ii ans[200005];
int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
int l=0,r=M;
while(l<=r){
for (int i = 0; i < N; ++i){
tab[i]=S[i];
pos[S[i]]=i;
}
int med=(l+r)>>1,idx=0;
for (int i = 0; i < med; ++i)
swap(pos[tab[X[i]]],pos[tab[Y[i]]]),swap(tab[X[i]],tab[Y[i]]);
for (int i = 0; i < N; ++i)
{
if(tab[i]!=i){
int k=pos[i];
ans[idx++]={i,tab[i]};
swap(pos[tab[i]],pos[i]);
swap(tab[i],tab[k]);
# | 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... |