Submission #1052989

#TimeUsernameProblemLanguageResultExecution timeMemory
1052989abczzAncient Books (IOI17_books)C++17
50 / 100
58 ms15188 KiB
#include "books.h" #include <iostream> #define ll long long using namespace std; long long minimum_walk(std::vector<int> p, int s) { ll n = p.size(), l, r, f = 0, mx = 0; for (int i=0; i<n; ++i) { f += abs(i-p[i]); } l = n, r = -1; for (int i=0; i<n; ++i) { if (p[i] != i) { l = i; break; } } for (int i=n-1; i>=0; --i) { if (p[i] != i) { r = i; break; } } if (l == n) return 0; if (s < l) f += 2*(l-s); else if (r < s) f += 2*(s-r); for (int i=l; i<=r; ++i) { mx = max(mx, (ll)p[i]); if (mx == i) f += 2; } f -= 2; return f; }
#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...