Submission #1053356

#TimeUsernameProblemLanguageResultExecution timeMemory
1053356UnforgettableplAncient Books (IOI17_books)C++17
0 / 100
0 ms348 KiB
#include "books.h" #include <bits/stdc++.h> using namespace std; long long minimum_walk(vector<int> p, int s) { int n = p.size(); vector cycle(n,-1); int cycle_cnt = 0; long long ans = 0; for(int i=0;i<n;i++) { ans+=abs(p[i]-i); if(cycle[i]!=-1)continue; int curr = i; do { cycle[curr]=cycle_cnt; curr = p[curr]; } while(curr!=i); cycle_cnt++; } vector<bool> visited(cycle_cnt); int curr = 0; for(int i=0;i<n;i++) { if(visited[cycle[i]])continue; visited[cycle[i]]=true; if(++curr==cycle_cnt)return ans+2ll*i; } assert(false); }
#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...