#include "books.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define pii pair<int,int>
#define ff first
#define cerr if(false) cerr
#define ss second
#define vi vector<int>
#define all(x) x.begin(),x.end()
#define ll long long int
const int N = 4e5+100, M = 1e9;
long long minimum_walk(std::vector<int> p, int s) {
ll ans = 0;
int n = p.size();
for(int i = 0; i < n; ++i) ans += abs(p[i] - i);
vector<bool> vis(n);
int last = 0;
ll cost = 0;
for(int i = 0; i < n; ++i){
if(!vis[i]){
int v = i;
while(!vis[v]){
vis[v] = 1;
v = p[v];
}
cost += i-last;
last=i;
}
}
return ans + cost*2;
}
# | 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... |