Submission #1191657

#TimeUsernameProblemLanguageResultExecution timeMemory
1191657gelov선물상자 (IOI15_boxes)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long int; ll numCheckpoints, stepSize, trackLength; vector<ll> forwardDistances, backwardDistances; vector<ll> memoForward, memoBackward; ll computeForwardTime(ll idx) { if (idx < 0) return 0; if (memoForward[idx] != -1) return memoForward[idx]; return memoForward[idx] = 2LL * forwardDistances[idx] + computeForwardTime(idx - stepSize); } ll computeBackwardTime(ll idx) { if (idx < 0) return 0; if (memoBackward[idx] != -1) return memoBackward[idx]; return memoBackward[idx] = 2LL * backwardDistances[idx] + computeBackwardTime(idx - stepSize); } ll delivery(ll numCheckpoints, ll stepSize, ll trackLength) { for (ll i = 0; i < numCheckpoints; i++) { ll pos; cin >> pos; if (pos == 0 || pos == trackLength) continue; if (2 * pos > trackLength) backwardDistances.push_back(trackLength - pos); else forwardDistances.push_back(pos); } sort(forwardDistances.begin(), forwardDistances.end()); sort(backwardDistances.begin(), backwardDistances.end()); memoForward.assign(forwardDistances.size(), -1); memoBackward.assign(backwardDistances.size(), -1); ll fCount = forwardDistances.size(); ll bCount = backwardDistances.size(); ll result = computeForwardTime(fCount - 1) + computeBackwardTime(bCount - 1); for (ll i = 0; i <= stepSize; ++i) { ll skipF = fCount - 1 - i; ll skipB = bCount - 1 - (stepSize - i); ll timeF = computeForwardTime(skipF); ll timeB = computeBackwardTime(skipB); result = min(result, timeF + timeB + trackLength); } return result; }

Compilation message (stderr)

/usr/bin/ld: /tmp/cc0pbRMv.o: in function `main':
grader.c:(.text.startup+0x1ec): undefined reference to `delivery(int, int, int, int*)'
collect2: error: ld returned 1 exit status