Submission #292741

#TimeUsernameProblemLanguageResultExecution timeMemory
292741SaboonAncient Books (IOI17_books)C++17
0 / 100
1 ms384 KiB
#include "books.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e6 + 10; bool visited[maxn], root[maxn]; long long minimum_walk(vector<int> p, int s){ int n = p.size(); set<int> S; ll answer = 0; for (int i = 0; i < n-1; i++){ S.insert(p[i]); if (!S.empty() and *S.begin() == i) S.erase(S.begin()); answer += 2*S.size(); } int tmp = 0; for (int i = 0; i < n; i++){ if (!visited[i] and p[i] != i){ tmp = i; int x = i; while (!visited[x]){ visited[x] = 1; x = p[x]; } } } answer += 2*tmp; return answer; }
#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...