Submission #1087019

# Submission time Handle Problem Language Result Execution time Memory
1087019 2024-09-12T04:06:50 Z the_coding_pooh Sorting (IOI15_sorting) C++14
16 / 100
10 ms 520 KB
#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];
	}
	build(M);
	get_sequence(N, M);
	for(int i = 0; i < M; i++){
		P[i] = p[i];
		Q[i] = q[i];
	}
	for(int i = 0; i < N; i++){
		assert(s[i] == i);
	}
	return M;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 356 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 10 ms 520 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 10 ms 520 KB Output isn't correct
2 Halted 0 ms 0 KB -