#include <bits/stdc++.h>
#define ll long long
#define sz(x) int(x.size())
#define all(x) x.begin(),x.end()
#define pb push_back
#define mp make_pair
#define fr first
#define se second
using namespace std;
long long minimum_walk(std::vector<int> p, int s) {
ll i, j, n=sz(p), pos, ult=s, tot=0, in=s;
for(i=n-1; i>=0; i--)
{
pos=0;
for(j=0; j<n; j++)
{
if(p[j]==i)
{
pos=j;
break;
}
}
if(pos==i)
continue;
swap(p[i],p[pos]);
tot=(abs(ult-pos)+abs(pos-i)+tot);
ult=pos;
}
tot=tot+abs(ult-in);
return tot;
}
# | 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... |