제출 #69268

#제출 시각아이디문제언어결과실행 시간메모리
69268yusufake정렬하기 (IOI15_sorting)C++98
0 / 100
3 ms640 KiB
#include<bits/stdc++.h> using namespace std; #include "sorting.h" #define pb push_back #define mp make_pair vector < int > V[1003]; pair < int , int > mx; int findSwapPairs(int n, int *S, int m, int *X, int *Y, int *P, int *Q){ int i,j; for(i=0;i<m;i++){ V[ X[i] ].pb(i); V[ Y[i] ].pb(i); } for(j=0;j<n;j++) V[j].pb(m); for(i=0;i<m;i++){ swap(S[ X[i] ], S[ Y[i] ]); mx = mp(-1,-1); for(j=0;j<n;j++) if(S[j] != j) mx = max(mx , mp(*upper_bound(V[ S[j] ].begin() , V[ S[j] ].end() , i),j)); if(mx.first == -1) return i+1; j = mx.second; P[i] = j; Q[i] = S[j]; swap(S[j],S[ S[j] ]); } 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...