Submission #370957

#TimeUsernameProblemLanguageResultExecution timeMemory
370957KoD고대 책들 (IOI17_books)C++17
0 / 100
1 ms492 KiB
#include <bits/stdc++.h> #include "books.h" template <class T> using Vec = std::vector<T>; long long minimum_walk(Vec<int> p, int s) { assert(s == 0); const int n = (int) p.size(); Vec<bool> done(n); long long ret = 0; int max = 0; for (int i = 0; i < n; ++i) { ret += std::abs(p[i] - i); if (!done[i]) { if (p[i] != i) { max = std::max(max, i); } int u = i; while (!done[u]) { done[u] = true; u = p[u]; } } } return ret + 2 * max; }
#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...