Submission #422727

#TimeUsernameProblemLanguageResultExecution timeMemory
422727vanicSorting (IOI15_sorting)C++14
0 / 100
1 ms588 KiB
#include "sorting.h" #include <algorithm> #include <iostream> #include <cassert> using namespace std; const int maxn=2e5+5; int pos[maxn]; int findSwapPairs(int n, int l[], int m, int x[], int y[], int p[], int q[]){ for(int i=0; i<n; i++){ pos[l[i]]=i; } int br=2; for(int i=0; i<n-2; i++){ swap(l[x[i]], l[y[i]]); swap(pos[l[x[i]]], pos[l[y[i]]]); p[i]=min(pos[br], br); q[i]=max(pos[br], br); swap(l[p[i]], l[q[i]]); swap(pos[l[p[i]]], pos[l[q[i]]]); br++; } int sol; if(l[0]==0){ sol=n-2; } else{ sol=n-1; swap(l[x[n-2]], l[y[n-2]]); swap(pos[l[x[n-2]]], pos[l[y[n-2]]]); p[n-2]=0; if(l[0]!=0){ q[n-2]=1; } else{ q[n-2]=0; } swap(l[p[n-2]], l[q[n-2]]); swap(pos[l[p[n-2]]], pos[l[q[n-2]]]); } /* cout << "krece" << endl; for(int i=0; i<sol; i++){ cout << p[i] << ' ' << q[i] << '\n'; }*/ for(int i=0; i<n; i++){ assert(l[i]==i); } return sol; } /* int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; int s[n]; for(int i=0; i<n; i++){ cin >> s[i]; } int m; cin >> m; int x[m], y[m]; for(int i=0; i<m; i++){ cin >> x[i] >> y[i]; } int p[m], q[m]; cout << findSwapPairs(n, s, m, x, y, p, q) << endl; return 0; } */

Compilation message (stderr)

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:12:39: warning: unused parameter 'm' [-Wunused-parameter]
   12 | int findSwapPairs(int n, int l[], int m, int x[], int y[], int p[], int q[]){
      |                                   ~~~~^
#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...