# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
385052 | 2021-04-03T06:06:45 Z | qpwoeirut | Sorting (IOI15_sorting) | C++17 | 2 ms | 620 KB |
#include "sorting.h" #include <algorithm> #include <cassert> #include <iostream> using namespace std; #define val first #define idx second typedef pair<int,int> pii; const int MN = 200005; pii A[MN]; int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) { if (is_sorted(S, S+N)) return 0; int K = 0; if (X[0] == 0 && Y[0] == 0) { for (int i=0; i<N; ++i) { int idx = min_element(S+i, S+N) - S; if (idx == i) continue; P[K] = i; Q[K] = idx; ++K; swap(S[i], S[idx]); } } else if (X[0] == 0 && Y[0] == 1) { for (int i=2; i<N; ++i) { int idx = min_element(S+i, S+N) - S; if (idx == i) continue; swap(S[0], S[1]); P[K] = i; Q[K] = idx; ++K; swap(S[i], S[idx]); } //for (int i=0; i<N; ++i) { cerr << S[i] << ' '; } cerr << endl; while (N > 2 && S[0] + S[1] > 1) { swap(S[0], S[1]); if (S[0] < S[1]) { P[K] = 1; swap(S[1], S[2]); } else { P[K] = 0; swap(S[0], S[2]); } Q[K] = 2; ++K; for (int i=2; i+1<N; ++i) { if (S[i] > S[i+1]) { swap(S[0], S[1]); swap(S[i], S[i+1]); P[K] = i; Q[K] = i+1; ++K; } else break; } } if (S[0] == 1) { assert(S[1] == 0); swap(S[0], S[1]); P[K] = 0; Q[K] = 0; ++K; } } else assert(0); //for (int i=0; i<N; ++i) { cerr << S[i] << ' '; } cerr << endl; assert(is_sorted(S, S+N)); assert(K <= M); return K; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 1 ms | 364 KB | Output is correct |
5 | Correct | 1 ms | 364 KB | Output is correct |
6 | Correct | 1 ms | 364 KB | Output is correct |
7 | Correct | 1 ms | 364 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 1 ms | 364 KB | Output is correct |
5 | Correct | 1 ms | 364 KB | Output is correct |
6 | Correct | 1 ms | 364 KB | Output is correct |
7 | Correct | 1 ms | 364 KB | Output is correct |
8 | Correct | 1 ms | 364 KB | Output is correct |
9 | Correct | 1 ms | 364 KB | Output is correct |
10 | Correct | 1 ms | 364 KB | Output is correct |
11 | Correct | 1 ms | 364 KB | Output is correct |
12 | Correct | 1 ms | 364 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Incorrect | 1 ms | 364 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 1 ms | 364 KB | Output is correct |
5 | Correct | 1 ms | 364 KB | Output is correct |
6 | Correct | 1 ms | 364 KB | Output is correct |
7 | Correct | 1 ms | 364 KB | Output is correct |
8 | Correct | 1 ms | 364 KB | Output is correct |
9 | Correct | 1 ms | 364 KB | Output is correct |
10 | Correct | 1 ms | 364 KB | Output is correct |
11 | Correct | 1 ms | 364 KB | Output is correct |
12 | Correct | 1 ms | 364 KB | Output is correct |
13 | Correct | 1 ms | 364 KB | Output is correct |
14 | Incorrect | 1 ms | 364 KB | Output isn't correct |
15 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 2 ms | 620 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 2 ms | 620 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |