Submission #1098381

#TimeUsernameProblemLanguageResultExecution timeMemory
1098381alexander707070Sorting (IOI15_sorting)C++14
20 / 100
4 ms520 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){

				P[i]=i; Q[i]=f;
				swap(s[i],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:46:25: warning: division by zero [-Wdiv-by-zero]
   46 |   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...