Submission #1259764

#TimeUsernameProblemLanguageResultExecution timeMemory
1259764FaggiAncient Books (IOI17_books)C++20
0 / 100
1 ms328 KiB
#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]);
        if(ult>pos)
        {
            tot=(abs(ult-pos)+tot);
            ult=pos;
        }
        else
        {
            tot=(abs(ult-pos)+abs(pos-i)+tot);
            ult=i;
        }
    }
    tot=tot+abs(ult-in);
    return tot;
}
#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...