Submission #617896

#TimeUsernameProblemLanguageResultExecution timeMemory
617896MohamedAliSaidaneRainforest Jumps (APIO21_jumps)C++14
4 / 100
911 ms4012 KiB
#include<bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include "jumps.h" using namespace __gnu_pbds; using namespace std; typedef tree<int,null_type,less<int>,rb_tree_tag, tree_order_statistics_node_update> indexed_set; typedef long long ll; typedef long double ld; //#define int ll typedef pair<int,int> pii; typedef pair<ll,ll> pll; typedef pair<ld,ld> pld; typedef vector<int> vi; typedef vector<ll> vll; typedef vector<pii> vpi; typedef vector<pll> vpl; #define pb push_back #define popb pop_back #define pp pop_back #define pf push_front #define popf pop_front #define all(x) (x).begin(),(x).end() #define ff first #define ss second int nx[4] = {0,0,1,-1}, ny[4] = {1,-1,0,0}; ll gcd(ll a , ll b) {return b ? gcd(b , a % b) : a ;} ll lcm(ll a , ll b) {return (a * b) / gcd(a , b);} const ll MOD = 998244353; int n; vll A; const int nax = 2e5 + 4; ll sp[nax][20]; int LG[nax]; int L[nax], R[nax]; void build() { for(int i = 0; i < n; i++) sp[i][0] = A[i]; for(int j = 1; j < 20; j++) for(int i= 0; i + (1 << j) <= n; i ++) sp[i][j] = max(sp[i][j-1],sp[i + (1 << (j-1))][j - 1]); } int rmq(int l, int r) { int j = LG[r - l + 1]; return max(sp[l][j], sp[r - (1 << j) + 1][j]); } void init(int N, vi H) { n = N; for(int i = 0 ; i < n;i ++) A.pb(H[i]); } int minimum_jumps(int a, int b, int c, int d) { if(d < a) return -1; if(c >= a && c <= b) return 0; if(a >= c && a <= d) return 0; return c - b; }
#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...