Submission #170789

#TimeUsernameProblemLanguageResultExecution timeMemory
170789SortingAncient Books (IOI17_books)C++14
50 / 100
196 ms18936 KiB
#include <bits/stdc++.h> #include "books.h" using namespace std; long long minimum_walk(vector<int> p, int s) { int n = (int)p.size(); vector<int> rev(n); long long ans = 0; for(int i = 0; i < n; ++i) rev[p[i]] = i; int mx = 0; for(int i = 0; i < n; ++i){ if(p[i] != i){ if(i > mx) ans += (i - mx) * 2; int v = i; do{ ans += abs(p[v] - v); mx= max(mx, v); int prev = v; v = p[v]; p[prev] = prev; } while(v != i); } } return ans; }
#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...