제출 #882367

#제출 시각아이디문제언어결과실행 시간메모리
882367dubabubaGap (APIO16_gap)C++14
0 / 100
24 ms5440 KiB
#include "gap.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; #define ff first #define ss second struct node { node *LC, *RC; ll tl, tr; ll mn, mx; ll ans; node(ll l, ll r) { ans = -1; tl = l, tr = r; MinMax(l, r, &mn, &mx); } bool birth() { if(tl == tr) return 0; if(mn == mx) return 0; LC = new node(tl, (tl + tr) / 2); RC = new node((tl + tr) / 2 + 1, tr); return 1; } ll merge(node *L, node *R) { ll ret = max(L-> ans, R-> ans); if(L-> mx == -1) return ret; if(R-> mx == -1) return ret; if(L-> mx == R-> mn) return ret; return max(R-> mn - L-> mx, ret); } void build() { if(tl == tr) return; if(mn == mx) return; LC-> build(); RC-> build(); ans = merge(LC, RC); } }; ll findGap(int T, int N) { node *root = new node(1LL, N); assert(root-> ans != -1); return root-> ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...