Submission #390526

#TimeUsernameProblemLanguageResultExecution timeMemory
390526alireza_kavianiAncient Books (IOI17_books)C++11
50 / 100
161 ms15940 KiB
#include <bits/stdc++.h> #include "books.h" using namespace std; typedef long long ll; const int MAXN = 1e6 + 10; int n; ll ans , ps[MAXN]; ll minimum_walk(vector<int> p, int s) { n = p.size(); for(int i = 0 ; i < n ; i++){ ps[min(p[i] , i)]++; ps[max(p[i] , i)]--; } partial_sum(ps , ps + MAXN , ps); int l = 0 , r = n; while(l < s && ps[l] == 0) l++; while(s <= r && ps[r] == 0) r--; int res = s; for(int i = 0 ; i < n ; i++){ if(ps[i] == 0) res = min(res , abs(i - s) - (i < s)); } for(int i = l ; i <= r ; i++){ ans += max(2ll , ps[i]); } return ans + res * 2; }
#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...