Submission #73399

#TimeUsernameProblemLanguageResultExecution timeMemory
73399NavickAncient Books (IOI17_books)C++17
0 / 100
3 ms548 KiB
#include <bits/stdc++.h> #include "books.h" #define F first #define S second #define pii pair<int, int> #define pb push_back using namespace std; typedef long long ll; const int maxN = 1e6 + 10; bool mark[maxN]; long long minimum_walk(std::vector<int> p, int s) { int n = p.size(), m = 0; ll ans = 0; for (int i=0; i<n; i++) { if(mark[i]) continue ; int curr = i, mn = n, sz = 0; while(!mark[curr]) { sz ++; mn = min(mn, curr); mark[curr] = true; ans += abs(p[curr] - curr); curr = p[curr]; } if(sz >= 2) m = max(m, mn); } return ans + 2LL * m; }
#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...