Submission #1244240

#TimeUsernameProblemLanguageResultExecution timeMemory
1244240thelegendary08Ancient Books (IOI17_books)C++17
0 / 100
0 ms324 KiB
#include "books.h" #include<bits/stdc++.h> #define vi vector<int> #define vb vector<bool> #define pii pair<int,int> #define vpii vector<pair<int,int>> #define vvi vector<vi> #define mp make_pair #define pb push_back #define f0r(i,n) for(int i = 0; i<n; i++) #define FOR(i, k, n) for(int i = k; i<n; i++) #define dout(x) cout<<x<<' '<<#x<<endl; #define vout(x) for(auto u : x)cout<<u<<' '; cout<<endl; using namespace std; long long minimum_walk(std::vector<signed> p, signed s) { int n = p.size(); int ans = 0; vb vis(n); int del = 0; int lst = 0; f0r(i,n){ if(!vis[i]){ ans += del; if(p[i] == i){ vis[i] = 1; del++; } else{ lst = i; int cur = p[i]; ans += abs(cur - i); vis[cur] = 1; while(cur != i){ int ori = cur; cur = p[cur]; vis[cur] = 1; ans += abs(ori - cur); } } } else del++; } ans += lst; return 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...