# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1048268 | 2024-08-08T06:10:12 Z | LittleOrange | 고대 책들 (IOI17_books) | C++17 | 0 ms | 0 KB |
#include "books.h" #include<bits/stdc++.h> using namespace std; using ll = long long; long long minimum_walk(std::vector<int> p, int s) { ll ans = 0; ll n = p.size(); if (s == 0){ vector<ll> u(n,0); for(ll i = 0;i<n;i++){ if(p[i]!=i){ ans += i-s; s = i; ll x = i; do{ ans += ans(p[x]-x); ll y = x; x = p[x]; p[y] = y; } while(x!=i); } } } return ans; }