Submission #1028902

#TimeUsernameProblemLanguageResultExecution timeMemory
1028902DorostWefAncient Books (IOI17_books)C++17
0 / 100
0 ms348 KiB
#include "books.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1000123; bool vis[N]; int n; long long minimum_walk(std::vector<int> p, int s) { long long ans = 0; n = (int)p.size(); for (int i = 0; i < n; i++) { vis[i] = false; } for (int i = 0; i < n; i++) { ans += abs (p[i] - i); } int mx = 0; int mm = 0; for (int i = 0; i < n; i++) { mm = i; if (!vis[i]) { if (p[i] == i) continue; if (i == mm) mx = i; int j = i; while (p[j] != i) { j = p[j]; mm = max(mm, j); vis[j] = true; } } } return ans + 2 * mx; }
#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...