Submission #421618

#TimeUsernameProblemLanguageResultExecution timeMemory
421618PbezzSorting (IOI15_sorting)C++14
36 / 100
3 ms428 KiB
#include "sorting.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back typedef pair<ll,ll> pii; const ll MAXN=2e5+5; const ll INF=1e9+7; int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) { int i,k,j,R=0; bool ok=true; for(i=0;i<N;i++){ if(S[i]!=i)ok=false; } if(ok)return 0; if(Y[0]==1){ for(i=N-1;i>=0;i--){//find i, send it to ith position swap(S[0],S[1]); ok=true; for(j=0;j<N;j++){ if(S[j]!=j)ok=false; } if(ok){ P[R]=0; Q[R]=0; R++; return R; } for(k=0;k<N;k++){ if(S[k]==i)break; }//cout<<i<<" "<<k<<endl; if(k!=i){ P[R]=k; Q[R]=i; R++; swap(S[k],S[i]); ok=true; for(j=0;j<N;j++){ if(S[j]!=j)ok=false; } if(ok){ return R; } }else{ swap(S[0],S[1]); } } }else{//his moves are redundant for(i=N-1;i>=0;i--){//find i, send it to ith position for(k=0;k<N;k++){ if(S[k]==i)break; } if(k!=i){ P[R]=k; Q[R]=i; R++; swap(S[k],S[i]); ok=true; for(j=0;j<N;j++){ if(S[j]!=j)ok=false; } if(ok){ return R; } } } /* for(i=0;i<N;i++){ cout<<S[i]<<" "; }cout<<endl;*/ //while(R>0&&P[R-1]==Q[R-1])R--; } return R; }

Compilation message (stderr)

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:15:39: warning: unused parameter 'M' [-Wunused-parameter]
   15 | int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
      |                                   ~~~~^
sorting.cpp:15:46: warning: unused parameter 'X' [-Wunused-parameter]
   15 | int findSwapPairs(int N, int S[], 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...