Submission #1295807

#TimeUsernameProblemLanguageResultExecution timeMemory
1295807SabaKharebavaObstacles for a Llama (IOI25_obstacles)C++20
0 / 100
2096 ms7340 KiB
#include<bits/stdc++.h> using namespace std; vector<int> l; void initialize(vector<int> t, vector<int> h) { l.resize(h.size(), -1); auto dfs = [&](auto& dfs, int i, int j, int val, bool c = false) -> void { //cout<< "(" << i << "; " << j << ") -> " << val << '\n'; if (i < 0 || i >= t.size() || j >= h.size() || h[j] >= t[i]) { // cout<< "returned\n"; return; } if (i == 0 && l[j] == -1) { int ind = j; while (ind-1 > 0 && h[ind-1] < t[0]) { l[ind-1] = l[j]; ind--; } l[j] = val; } dfs(dfs, i-1, j, val, true); if (!c) dfs(dfs, i+1, j, val); dfs(dfs, i, j+1, val); }; for (int i = 0; i < h.size(); i++) if (l[i] == -1 && t[0] > h[i]) dfs(dfs, 0, i, i); //cout<< "L :\n"; //for (int e : l) // cout<< e << ' '; //cout<< '\n'; } bool can_reach(int ll, int r, int s, int d) { if (d < s) swap(d, s); return (l[d] == s); }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...