Submission #775898

#TimeUsernameProblemLanguageResultExecution timeMemory
775898ttamxAncient Books (IOI17_books)C++14
12 / 100
0 ms212 KiB
#include "books.h" #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e6+5; struct fenwick{ ll t[N]; void add(int i,ll v){ while(i<N)t[i]+=v,i+=i&-i; } ll read(int i){ ll res=0; while(i>0)res+=t[i],i-=i&-i; return res; } }f; long long minimum_walk(vector<int> p, int s){ int n=p.size(); ll ans=0; int pos=s; for(int i=0;i<n;i++){ int cur=p[i]; if(cur==i)continue; while(cur!=i){ ans+=abs(cur-pos); pos=cur; swap(cur,p[cur]); } ans+=abs(pos-i); pos=i; } ans+=abs(pos-s); return min(2ll*n,ans); }
#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...