제출 #1257274

#제출 시각아이디문제언어결과실행 시간메모리
1257274yhx3장애물 (IOI25_obstacles)C++20
0 / 100
119 ms8640 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) { if (cnc2.empty()) return true; auto tt = lower_bound(cnc2.begin(),cnc2.end(),S); auto i1 = lower_bound(cnc2.begin(),cnc2.end(),D); if (pref2[D]==pref2[S])return true; if (pnt.empty()) return false; int l = *prev(i1,1); int r = i1 != cnc2.end() ? *i1 : m; int l2 = tt == cnc2.begin() ? -1 : *prev(tt,1); int r2 = *tt; auto j = *lower_bound(pnt.begin(),pnt.end(),l2); auto i = *lower_bound(pnt.begin(),pnt.end(),l); return j <= r2 && i <= r && pref[S]==pref[D]; }
#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...