제출 #1233077

#제출 시각아이디문제언어결과실행 시간메모리
1233077candi_ositos고대 책들 (IOI17_books)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> #include "books.h" using namespace std; long long int r; vector <int> b; vector <pair <int, int> > d; int l; int N; void mw(int i, int j, int k) { int aux=i-b[i]; if(aux<0){ aux*=-1; } d[k].first+=aux; if(i<d[k].second || d[k].second==-1){ d[k].second=i; } if(b[i]!=j){ mw(b[i], j, k); } b[i]=i; return; } long long int minimum_walk(vector <int> p, int s){ N=p.size(); d.assign(N, pair <int, int>(make_pair(0, -1))); b.resize(N); l=s; for(int i=0; i<N; ++i){ b[i]=p[i]; } int j=0; for(int i=0; i<N; ++i){ if(b[i]!=i){ mw(i, i, j); ++j; } } r=2*d[j-1].second; for(int k=0; k<j; ++k){ r+=d[k].first; } 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...