Submission #1087016

#TimeUsernameProblemLanguageResultExecution timeMemory
1087016the_coding_poohSorting (IOI15_sorting)C++14
16 / 100
9 ms604 KiB
#include "sorting.h" #include <bits/stdc++.h> #define uwu return 0; using namespace std; const int SIZE = 2e5 + 5; int s[SIZE], tar[SIZE], x[SIZE], y[SIZE], p[SIZE], q[SIZE], pos_of_val[SIZE]; void build(int M){ for(int i = M - 1; i >= 0; i--){ swap(tar[x[i]], tar[y[i]]); } return; } void get_sequence(int N, int M){ for(int i = 0; i < M; i++){ swap(s[x[i]], s[y[i]]); for(int j = 0; j < N; j++){ pos_of_val[s[j]] = j; } swap(tar[x[i]], tar[y[i]]); for(int j = 0; j < N; j++){ if(s[j] != tar[j]){ swap(s[j], s[pos_of_val[tar[j]]]); p[i] = j; q[i] = pos_of_val[tar[j]]; break; } } } return; } int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) { for(int i = 0; i < N; i++){ tar[i] = i; s[i] = S[i]; } for(int i = 0; i < M; i++){ x[i] = X[i]; y[i] = Y[i]; } for(int i = 0; i < M; i++){ p[i] = 0; q[i] = 0; } get_sequence(N, M); for(int i = 0; i < M; i++){ P[i] = p[i]; Q[i] = q[i]; } return M; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...