Submission #1082432

#TimeUsernameProblemLanguageResultExecution timeMemory
1082432Valaki2Ancient Books (IOI17_books)C++14
50 / 100
77 ms22776 KiB
#include "books.h" #include <bits/stdc++.h> using namespace std; #define ll long long ll minimum_walk(vector<signed> p, signed s) { int n = (int) p.size(); vector<int> v(1 + n, 0); for(int i = 1; i <= n; i++) { v[i] = p[i - 1] + 1; } s++; ll ans = 0; vector<int> cnt(1 + n, 0); for(int i = 1; i <= n; i++) { ans += abs(i - v[i]); int a = i, b = v[i]; if(a > b) { swap(a, b); } cnt[a]++; cnt[b]--; } int k = 0; for(int i = 1; i <= n; i++) { if(v[i] != i) { k = i; } } int cur = 0; for(int i = 1; i <= n; i++) { cur += cnt[i]; if(i <= k - 1 && cur == 0) { ans += 2; } } 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...