Submission #51509

#TimeUsernameProblemLanguageResultExecution timeMemory
51509aome고대 책들 (IOI17_books)C++17
50 / 100
224 ms20616 KiB
#include <bits/stdc++.h> #include "books.h" using namespace std; const int N = 1000005; bool visit[N]; long long minimum_walk(vector<int> p, int s) { assert(s == 0); int n = p.size(); int cur = 0; long long sum = 0; int lim = 0; for (int i = 0; i < n; ++i) { sum += abs(p[i] - i); visit[i] = 0; if (i != p[i]) lim = i; } while (1) { queue<int> qu; visit[cur] = 1, qu.push(cur); while (qu.size()) { int u = qu.front(); qu.pop(); while (cur < p[u]) { cur++, visit[cur] = 1, qu.push(cur); } } if (cur == lim) break; sum += 2, cur++; } return sum; }
#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...