Submission #610238

#TimeUsernameProblemLanguageResultExecution timeMemory
610238PiejanVDCAncient 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);
    int mx = -1;
    for(int i = 0 ; i < n ; i++) if(!vis[i]) {
        vis[i] = 1;
        if(i > mx)
            last = i;
        int pos = i;
        do {
            vis[pos] = 1;
            mx = max(mx, pos);
            int nxt = p[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...