Submission #114017

#TimeUsernameProblemLanguageResultExecution timeMemory
114017faustaadpAncient Books (IOI17_books)C++17
0 / 100
2 ms384 KiB
#include "books.h" #include<bits/stdc++.h> typedef long long ll; #define pb push_back #define mp make_pair #define fi first #define se second using namespace std; ll n,i,sud[1010101],p[1010101]; ll car(ll aa) { if(p[aa]==aa) return aa; else return p[aa]=car(p[aa]); } void gab(ll aa,ll bb) { p[car(aa)]=car(bb); } long long minimum_walk(std::vector<int> x, int s) { n=x.size(); ll jaw=0; for(i=0;i<n;i++)p[i]=i; for(i=0;i<n;i++)jaw+=abs(i-x[i]); for(i=0;i<n;i++) gab(i,x[i]); ll tam=0; for(i=0;i<n;i++) { if(sud[car(i)]||car(i)==i)continue; else tam=i*2; sud[car(i)]=1; } return jaw+tam; }
#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...