Submission #1233080

#TimeUsernameProblemLanguageResultExecution timeMemory
1233080candi_ositosAncient Books (IOI17_books)C++20
0 / 100
0 ms328 KiB
#include "books.h"
#include <bits/stdc++.h>
using namespace std;
long long int r=0;
vector <int> b;
int l;
int N;
void mw(int i, int j)
{
    int aux=i-b[i];
    if(aux<0){
        aux*=-1;
    }
    r+=aux;
    if(b[i]!=j){
        mw(b[i], j);
    }
    b[i]=i;
    return;
}
long long int minimum_walk(vector <int> p, int s){
    N=p.size();
    b.resize(N);
    l=s;
    for(int i=0; i<N; ++i){
        b[i]=p[i];
    }
    int mx=0;
    for(int i=0; i<N; ++i){
        if(b[i]!=i){
            mx=i;
            mw(i, i);
        }
    }
    r+=2*mx;
    return r;
}
#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...