Submission #1199082

#TimeUsernameProblemLanguageResultExecution timeMemory
1199082dostsAncient Books (IOI17_books)C++20
0 / 100
0 ms324 KiB
#include "books.h" #include <bits/stdc++.h> #define int long long #define pii pair<int,int> #define vi vector<int> #define ff first #define ss second #define sp << " " << #define all(x) x.begin(),x.end() using namespace std; int minimum_walk(std::vector<int32_t> p, int32_t s) { assert(s == 0); int cur = 0; int n = p.size(); int walk = 0; vi done(n,0); set<int> mex; for (int i = 0;i<n;i++) mex.insert(i); while (!mex.empty()) { int i = *mex.begin(); mex.erase(mex.begin()); walk+=abs(cur-i); cur = i; int f = cur; while (p[f] != cur) { mex.erase(f); walk+=abs(f-p[f]); f = p[f]; } mex.erase(f); walk+=abs(i-f); } walk+=cur; return walk; }
#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...