Submission #335167

#TimeUsernameProblemLanguageResultExecution timeMemory
335167kshitij_sodaniSorting (IOI15_sorting)C++14
20 / 100
85 ms492 KiB
//#pragma GCC optimize("Ofast,unroll-loops") #include <bits/stdc++.h> using namespace std; typedef long long llo; #define mp make_pair #define pb push_back #define a first #define b second //#define endl '\n' #include "sorting.h" int cur[200001]; int findSwapPairs(int n, int aa[], int m, int x[], int y[], int p[], int q[]){ int stt=1; for(int i=0;i<n;i++){ cur[i]=i; if(aa[i]!=i){ stt=0; } } if(stt==1){ return 0; } for(int i=m-1;i>=0;i--){ swap(cur[x[i]],cur[y[i]]); } vector<int> bb; for(int i=0;i<n;i++){ bb.pb(aa[i]); } for(int i=0;i<m;i++){ swap(aa[x[i]],aa[y[i]]); int ind=-1; p[i]=0; q[i]=0; if(true){ int st=1; for(int j=0;j<n;j++){ if(aa[j]!=j){ st=0; } } if(st==1){ return i+1; } } for(int j=0;j<n;j++){ cur[j]=j; } for(int j=i+1;j<m;j++){ swap(cur[x[j]],cur[y[j]]); } for(int j=0;j<n;j++){ if(aa[j]!=cur[j]){ ind=j; break; } } if(ind==-1){ if(true){ int st=1; for(int j=0;j<n;j++){ if(aa[j]!=j){ st=0; } } if(st==1){ return i+1; } } continue; } int ind2=-1; for(int j=0;j<n;j++){ if(cur[j]==aa[ind]){ ind2=j; } } p[i]=ind; if(ind2==-1){ while(true){ continue; } } q[i]=ind2; swap(aa[p[i]],aa[q[i]]); if(true){ int st=1; for(int j=0;j<n;j++){ if(aa[j]!=j){ st=0; } } if(st==1){ return i+1; } } } /*for(int i=0;i<n;i++){ if(bb[i]!=i){ while(true){ continue; } } }*/ /* for(int i=0;i<n;i++){ cout<<bb[i]<<":"; } cout<<endl; */ return m; }
#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...