This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#include "books.h"
using namespace std;
#define ff first
#define ss second
#define all(x) x.begin(), x.end()
using ll = long long;
using pii = pair<int,int>;
using pll = pair<ll,ll>;
template<typename T>
using matrix = vector<vector<T>>;
long long minimum_walk(std::vector<int> p, int s) {
int mindif = -1;
int n = p.size();
vector<int> check(n);
auto dfs =[&](int id,auto dfs)->int{
check[id] = 1;
if(check[p[id]])
return 0;
return dfs(p[id],dfs)+1;
};
for(int i = 0; i < n ; i++){
if(!check[i]){
int cur = dfs(i,dfs);
if(cur != 0)
mindif = i;
}
}
ll resp = 2*mindif;
for(int i = 0; i < n; i++){
resp+=abs(i-p[i]);
}
return resp;
}
# | 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... |