#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |