Submission #1267983

#TimeUsernameProblemLanguageResultExecution timeMemory
1267983LaMatematica14Ancient Books (IOI17_books)C++20
50 / 100
61 ms8168 KiB
#include <bits/stdc++.h> using namespace std; long long minimum_walk(vector<int> p, int s) { long long ans = 0, N = p.size(); for (int i=0; i<N; i++) ans += abs(p[i]-i); int last_ordered = N; for (int i = N-1; i > -1; i--) { if (p[i] != i) break; last_ordered = i; } if (last_ordered == 0) return 0; int max_sofar = -1, nseg = 0; for(int i = 0; i < last_ordered; i++) { if (i > max_sofar) nseg++; max_sofar = max(max_sofar, p[i]); } return ans+(nseg-1)*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...