Submission #598174

#TimeUsernameProblemLanguageResultExecution timeMemory
598174yanndevAncient Books (IOI17_books)C++17
0 / 100
1 ms304 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; ll minimum_walk(vector<int> p, int s) { ll ans = 0; int n = (int)p.size(); vector<vector<int>> cycles {}; vector<bool> vis (n, false); int last = 0; for (int i = 0; i < n; i++) { if (vis[i]) continue; ans += abs(i - last); int pos = i; last = i; cycles.push_back({}); while (!vis[pos]) { vis[pos] = true; cycles.back().push_back(pos); ans += abs(p[pos] - pos); pos = p[pos]; } } ans += last; 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...