Submission #1102973

# Submission time Handle Problem Language Result Execution time Memory
1102973 2024-10-19T09:43:59 Z Pioneer Sorting (IOI15_sorting) C++17
16 / 100
25 ms 592 KB
#include "sorting.h"
#include <bits/stdc++.h>

using namespace std;

const int MAX=200000;

int n,m;

int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
	n=N,m=M;
    vector<int> v(n),need(n);
	vector<pair<int,int>> swaps;
	for(int i=0;i<n;i++)v[i]=S[i],need[i]=i;
	for(int i=0;i<m;i++){
		swap(v[X[i]],v[Y[i]]);
		vector<int> tov=need;
		for(int j=i+1;j<m;j++){
			swap(tov[X[j]],tov[Y[j]]);
		}
		// cout<<"! "<<X[i]<<" "<<Y[i]<<"\n";
		// for(int j=0;j<n;j++)cout<<tov[j]<<" ";
		// cout<<"\n";
		// for(int j=0;j<n;j++)cout<<v[j]<<" ";
		// cout<<"\n";
		// cout<<"\n";
		vector<int> tov1(n);
		for(int i=0;i<n;i++)tov1[tov[i]]=i;
		swap(tov,tov1);
		bool ok=0;
		for(int k=0;k<n;k++){
			if(tov[k]!=v[k]){
				for(int j=0;j<n;j++){
					if(tov[j]==v[k]){
						ok=1;
						swaps.push_back({k,j});
						swap(v[k],v[j]);
						break;
					}
				}
				if(ok)break;
			}
			if(ok)break;
		}
		// tov=need;
		// for(int j=i+1;j<m;j++){
		// 	swap(tov[X[j]],tov[Y[j]]);
		// }
		// for(int j=0;j<n;j++)cout<<tov[j]<<" ";
		// cout<<"\n";
		// for(int j=0;j<n;j++)cout<<v[j]<<" ";
		// cout<<"\n";
		// cout<<"\n";
		if(!ok)swaps.push_back({0,0});
	}
	// for(int i=1)
	// for(int x:v)cout<<x<<" ";
	// cout<<"\n";
	assert(v==need);
	for(int i=0;i<m;i++){
		P[i]=swaps[i].first;
		Q[i]=swaps[i].second;
	}
	return M;
}

Compilation message

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:28:11: warning: declaration of 'i' shadows a previous local [-Wshadow]
   28 |   for(int i=0;i<n;i++)tov1[tov[i]]=i;
      |           ^
sorting.cpp:15:10: note: shadowed declaration is here
   15 |  for(int i=0;i<m;i++){
      |          ^
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Incorrect 1 ms 336 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Incorrect 1 ms 336 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 508 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 5 ms 336 KB Output is correct
4 Correct 5 ms 336 KB Output is correct
5 Correct 5 ms 336 KB Output is correct
6 Correct 1 ms 508 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Incorrect 1 ms 336 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 25 ms 592 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 25 ms 592 KB Output isn't correct
2 Halted 0 ms 0 KB -