# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
921093 | salmon | Ancient Books (IOI17_books) | C++14 | 0 ms | 0 KiB |
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 <cstdio>#include <vector>#include <bits/stdc++.h>using namespace std; long long minimum_walk(vector<int> p, int s) { bool done[1100100]; int N = p.size(); int un = N; int soom = 0; int i = 0; /*while(un != 0){ if(start ) }*/ int fre = 0; for(int i = 0; i < N; i++){ if(done[i]) continue; if(i > fre){ soom += 2; } fre = max(fre,i); int j = p[i]; soom += abs(j - i); while(j != i){ int temp = j; fre = max(fre,j); done[j] = true; j = p[j]; soom += abs(temp - j); } } for(int i = N - 1; i > 0; i--){ if(p[i] != i){ break; } soom -= 2; } return soom;}