Submission #1257268

#TimeUsernameProblemLanguageResultExecution timeMemory
1257268yhx3Obstacles for a Llama (IOI25_obstacles)C++20
24 / 100
73 ms10944 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> using namespace std; using namespace __gnu_pbds; #define ord_set tree < int , null_type , less , rb_tree_tag , tree_order_statistics_node_update> #define ll unsigned long long #define rep(i,a,b) for (int i = a; i < b; i++) #define rrep(i,a,b) for (int i = a; i >= b; i--) void N() {cout<<"NO\n";} void Y() {cout<<"YES\n";} void isTrue(bool ope) { if (ope) Y();else N(); } int MD = 1e9+7; ll MX_VL = 1e18; int MX_ll = 2e9; vector<int> T; vector<int> H; vector<int> pref; vector<int> pref2; vector<int> pnt; vector<int> cnc2; int m; int n; void initialize(std::vector<int> Tp, std::vector<int> Hp) { T = Tp; H = Hp; m = Hp.size(); n = Tp.size(); pref.resize(m, 0); pref2.resize(m, 0); pref2[0] = H[0] >= 2; pref[0] = Tp.back() <= Hp[0]; rep(i, 0, m) { if (H[i] == 0) pnt.push_back(i); if (H[i] >= 2) { cnc2.push_back(i); pref2[i] = pref2[i - 1] + 1; } else pref2[i] = pref2[i - 1]; } rep(i, 1, m) { pref[i] = (Tp.back() <= Hp[i]) + pref[i - 1]; } } bool can_reach(int L, int R, int S, int D) { return pref[D] == pref[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...