Submission #1195181

#TimeUsernameProblemLanguageResultExecution timeMemory
1195181nikulidSorting (IOI15_sorting)C++20
0 / 100
1095 ms328 KiB
#include "sorting.h"
#include <vector>

using namespace std;

int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
    int next, first;
    bool already_sorted;
    vector<int> ns(N);
    for(int i=0; i<N; i++){
    	ns[i] = S[i];
    }

    for(int c=0, i; true; c++){
    	if(c>=N){i=N-1;}
    	else{i=c;}
    	already_sorted=true;
    	for(int j=0; j<N; j++){
    		if(ns[j] == i){
    			next = j;
    		}

    		if(j>0){
    			if(ns[j-1] > ns[j]){
    				already_sorted=false;
    			}
    		}
    	}
    	if(already_sorted){
    		return c;
    	}

    	first = ((i==1)?0:i);
    	P[i] = first;
    	Q[i] = next;
    	swap(ns[first], ns[next]);
    	// we have "swapped" positions `i` and `trans[i]`. whatever that means.
    }

    /*for(auto x:ns){
    	cout<<x<<" ";
    }cout<<"\n\n";*/
	return N;
}
#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...