Submission #389598

#TimeUsernameProblemLanguageResultExecution timeMemory
389598faresbasbs정렬하기 (IOI15_sorting)C++14
0 / 100
2 ms716 KiB
#include <bits/stdc++.h> #include "sorting.h" using namespace std; vector<int> v,v2,st,e,l,r; bool seen[200001]; int n; void dfs(int curr){ seen[curr] = 1; if(!seen[v2[curr]]){ dfs(v2[curr]); } } bool work(int mid){ memset(seen,0,sizeof seen); l.clear(),r.clear(); v2 = v; for(int i = 0 ; i <= mid-1 ; i += 1){ swap(v2[st[i]],v2[e[i]]); } int num = n; for(int i = 0 ; i < n ; i += 1){ if(seen[i]){ continue; } num -= 1; dfs(i); } return num <= mid; } int findSwapPairs(int N , int s[] , int m , int x[] , int y[] , int p[] , int q[]){ n = N; for(int i = 0 ; i < n ; i += 1){ v.push_back(s[i]); } for(int i = 0 ; i < m ; i += 1){ st.push_back(x[i]) , e.push_back(y[i]); } int first = -1 , last = m; while(last-first > 1){ int mid = (first+last)/2; if(work(mid)){ last = mid; }else{ first = mid; } } return last-1; } /*int main(){ }*/

Compilation message (stderr)

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:33:69: warning: unused parameter 'p' [-Wunused-parameter]
   33 | int findSwapPairs(int N , int s[] , int m , int x[] , int y[] , int p[] , int q[]){
      |                                                                 ~~~~^~~
sorting.cpp:33:79: warning: unused parameter 'q' [-Wunused-parameter]
   33 | 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...