Submission #1098382

#TimeUsernameProblemLanguageResultExecution timeMemory
1098382alexander707070Sorting (IOI15_sorting)C++14
36 / 100
2 ms860 KiB
#include<bits/stdc++.h>
#include "sorting.h"

#define MAXN 200007
using namespace std;

int n,m,q;
int pos[MAXN],s[MAXN];

int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
    n=N; m=M;

	if(n==1)return 0;

	for(int i=0;i<n;i++)s[i]=S[i];

	for(int i=0;i<n;i++){
		if(X[0]==0 and Y[0]==1)swap(s[0],s[1]);

		for(int f=0;f<n;f++){
			if(s[f]==i){

				if(i!=1 or X[0]==Y[0]){
					P[i]=i; Q[i]=f;
					swap(s[i],s[f]);
				}else{
					P[i]=0; Q[i]=f;
					swap(s[0],s[f]);
				}
			}
		}
	}

	q=n; q++;
	P[q-1]=Q[q-1]=0;

	for(int i=0;i<n;i++)s[i]=S[i];
	
	for(int i=0;i<q;i++){

		for(int t=0;t<n-1;t++){
			if(s[t]>s[t+1])break;
			else if(t==n-2)return i;
		}

		if(X[0]==0 and Y[0]==1)swap(s[0],s[1]);
		swap(s[P[i]],s[Q[i]]);
	}

	for(int t=0;t<n-1;t++){
		if(s[t]>s[t+1])cout<<1/0;
	}

	return q;
}

Compilation message (stderr)

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:51:25: warning: division by zero [-Wdiv-by-zero]
   51 |   if(s[t]>s[t+1])cout<<1/0;
      |                        ~^~
#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...