Submission #1253055

#TimeUsernameProblemLanguageResultExecution timeMemory
1253055FernandoJC07Obstacles for a Llama (IOI25_obstacles)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define For(i, a, n) for(int i = a; i<n; ++i) #define Forr(i, a, n) for(int i = a; i>=n; --i) #define vi vector<int> #define vii vector<vector<int>> using namespace std; const int INF = 1e9+7; vi res1, res2; void proced(vi T, vi H, vi paabajo){ int n = T.size(); int m = H.size(); vi mt(n); mt[n-1] = T[n-1]; Forr(i, n-2, 0) mt[i] = max(mt[i+1], T[i]); vi mint(n); mint[n-1] = T[n-1]; Forr(i, n-2, 0) mint[i] = min(mint[i+1], T[i]); int minx = INF; Forr(i, m-1, 0){ minx = min(minx, H[i]); if(paabajo[i] == -1) continue; if(paabajo[i] == n-1){ minx = INF; res2.push_back(i); continue; } int l = 0, r = n-1; while(r>l){ int mid = l + (r-l)/2; if(mint[mid]<=minx) r = mid; else l = mid+1; } if(paabajo[i]>=l){ res2.push_back(i); } } //mos(res2); } void initialize(vi T, vi H){ int n = T.size(); int m = H.size(); vi mt(n); mt[0] = T[0]; For(i, 1, n) mt[i] = max(mt[i-1], T[i]); vi mint(n); mint[0] = T[0]; For(i, 1, n) mint[i] = min(mint[i-1], T[i]); int minx = INF; vi paabajo(m); For(i, 0, m){ minx = min(minx, H[i]); int upper = upper_bound(mt.begin(), mt.end(), H[i]) - mt.begin(); paabajo[i] = upper-1; --upper; if(upper==-1) continue; if(upper == n-1){ minx = INF; res1.push_back(i); continue; } int l = 0, r = n-1; while(r>l){ int mid = l + (r-l)/2; if(mint[mid]<=minx) r = mid; else l = mid+1; } if(upper>=l) res1.push_back(i); } //mos(res1); proced(T, H, paabajo); reverse(res2.begin(), res2.end()); }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccxzNBbG.o: in function `main':
grader.cpp:(.text.startup+0x402): undefined reference to `can_reach(int, int, int, int)'
collect2: error: ld returned 1 exit status