제출 #1008650

#제출 시각아이디문제언어결과실행 시간메모리
1008650aaaaaarrozOvertaking (IOI23_overtaking)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int l, n, m, x; vector<ll> t; vector<ll> W; vector<ll> s; vector<vector<pair<ll, ll>>> tiempos(1009); vector<vector<ll>> dp(1009, vector<ll>(1009)); void init(int L, int N, vector<ll> T, vector<int> w, int X, int M, vector<int> S) { l = L; n = N; m = M; x = X; t.clear(); W.clear(); s.clear(); for (int i = 0; i < 1009; ++i){ tiempos[i].clear(); } for (int i = 0; i < N; i++) { if (w[i] > x) { W.push_back(w[i]); t.push_back(T[i]); } } for (int i = 0; i < M - 1; i++) s.push_back(S[i + 1] - S[i]); n = t.size(); for (int i = 0; i < n; i++){ dp[i][0] = t[i]; } for (int j = 1; j < m; j++) { vector<pair<ll, ll>> x; for (int i = 0; i < n; i++){ x.push_back(make_pair(dp[i][j - 1], i)); } sort(x.begin(), x.end()); ll mx = 0, mx2 = 0; tiempos[j].push_back(make_pair(-1, 0)); for (int i = 0; i < n; i++) { if (i != 0 && x[i].first > x[i - 1].first) mx = max(mx, mx2); int v = x[i].second; dp[v][j] = max(mx, dp[v][j - 1] + W[v] * s[j - 1]); mx2 = max(mx2, dp[v][j]); tiempos[j].push_back(make_pair(x[i].first, max(mx, mx2))); } } } ll arrival_tiempos(ll arrival) { ll cur = arrival; for (int i = 1; i < m; i++) { int idx = lower_bound(tiempos[i].begin(), tiempos[i].end(), make_pair(cur, -1LL)) - tiempos[i].begin() - 1; cur = max(cur + s[i - 1] * x, tiempos[i][idx].second); } return cur; }

컴파일 시 표준 에러 (stderr) 메시지

/usr/bin/ld: /tmp/ccROT3wF.o: in function `main':
grader.cpp:(.text.startup+0x48c): undefined reference to `arrival_time(long long)'
collect2: error: ld returned 1 exit status