# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
70240 | E869120 | Ancient Books (IOI17_books) | C++14 | 303 ms | 107868 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 "books.h"
#include <bits/stdc++.h>
using namespace std;
int n,c[1000009];bool used[1000009];
long long minimum_walk(vector<int> p, int s) {
n=p.size();
long long sum=0;
for(int i=0;i<n;i++){
if(used[i]==true || i==p[i]) continue;
int cx=i, maxn=0;
while(true){
sum+=abs(cx-p[cx]);used[cx]=true;maxn=max(maxn,cx);
cx=p[cx];if(cx==i) break;
}
c[i]++;c[maxn]--;
}
for(int i=1;i<=n;i++) c[i]+=c[i-1];
long long L=0;bool flag=false;
for(int i=n;i>=0;i--){
if(c[i]==1) flag=true;
if(flag==true && c[i]==0) L++;
}
return sum+L*2;
}
# | 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... |