Submission #16664

#TimeUsernameProblemLanguageResultExecution timeMemory
16664suhgyuho_williamSorting (IOI15_sorting)C++98
0 / 100
30 ms384 KiB
#include "sorting.h" #include <algorithm> using namespace std; int a[200002],location[200002]; int where[200002],last[200002]; int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) { int i,n=N,R; int left,right; int cnt; left=0; right=M; for(R=0;R<=M;R++){ for(i=0;i<n;i++){ a[i]=S[i]; location[a[i]]=i; where[a[i]]=i; } for(i=0;i<R;i++){ location[a[X[i]]]=Y[i]; location[a[Y[i]]]=X[i]; swap(a[X[i]],a[Y[i]]); } cnt=-1; for(i=0;i<n;i++) last[i]=a[i]; for(i=0;i<n;i++) a[i]=S[i]; for(i=0;i<n;i++){ if(location[i]==i) continue; cnt++; if(cnt>=R) break; where[a[X[cnt]]]=Y[cnt]; where[a[Y[cnt]]]=X[cnt]; swap(a[X[cnt]],a[Y[cnt]]); P[cnt]=where[i]; Q[cnt]=where[last[i]]; location[last[i]]=location[i]; location[i]=i; where[a[P[cnt]]]=Q[cnt]; where[a[Q[cnt]]]=P[cnt]; swap(a[P[cnt]],a[Q[cnt]]); } for(i=cnt+1;i<R;i++) P[i]=Q[i]=0; if(cnt>=R) continue; break; } return R; }

Compilation message (stderr)

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:10:9: warning: variable 'left' set but not used [-Wunused-but-set-variable]
     int left,right;
         ^~~~
sorting.cpp:10:14: warning: variable 'right' set but not used [-Wunused-but-set-variable]
     int left,right;
              ^~~~~
#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...