Submission #227985

#TimeUsernameProblemLanguageResultExecution timeMemory
227985AaronNaidu고대 책들 (IOI17_books)C++14
12 / 100
5 ms384 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll minimum_walk(vector<int> p, int s) { int trueLength = p.size(); for (int i = p.size() - 1; i >= 0; i--) { if (p[i] == i) { trueLength--; } else { break; } } ll toRet = 0; int startPoint = 0; int maxSoFar = -1; for (int i = 0; i < trueLength; i++) { maxSoFar = max(maxSoFar, p[i]); if (maxSoFar == i) { for (int j = startPoint; j <= i; j++) { toRet += abs(j - p[j]); } if (i < trueLength - 1) { toRet += abs(startPoint - (i+1)); startPoint = i+1; } } } toRet += startPoint; return toRet; }
#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...