Submission #610221

#TimeUsernameProblemLanguageResultExecution timeMemory
610221PiejanVDCAncient Books (IOI17_books)C++17
0 / 100
1 ms296 KiB
#include "books.h"
#include <bits/stdc++.h>
using namespace std;
 
long long minimum_walk(vector<int>p, int s) {
    long long last = 0;
    int n = p.size();
    long long ans = 0;
    vector<bool>vis(n,0);
    for(int i = 0 ; i < n ; i++) if(!vis[i]) {
        vis[i] = 1;
        last = i;
        int pos = i;
        do {
            vis[pos] = 1;
            int nxt = p[pos];
            p[pos] = pos;
            ans += abs(nxt-pos);
            pos = nxt;
        } while(pos != i);
    }
    return ans+2*last;
}
#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...