제출 #925844

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
9258442024-02-12 09:56:15mickey080929유괴 2 (JOI17_abduction2)C++17
13 / 100
5043 ms8792 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll H, W, Q;
ll mxl[50010][16], mxr[50010][16], mxu[50010][16], mxd[50010][16];
ll A[50010], B[50010];
ll dfs(ll x, ll y, ll dir) {
ll cur = 0;
if (dir == 0) {
ll u = x - 1, d = x + 1;
for (ll lv=15; lv>=0; lv--) {
if (u - (1 << lv) >= -1 && mxu[u][lv] < B[y])
u -= (1 << lv);
if (d + (1 << lv) <= H && mxd[d][lv] < B[y])
d += (1 << lv);
}
if (u != -1) cur = max(cur, dfs(u, y, 1) + x - u);
else cur = max(cur, x);
if (d != H) cur = max(cur, dfs(d, y, 1) + d - x);
else cur = max(cur, H - x - 1);
}
else {
ll l = y - 1, r = y + 1;
for (ll lv=15; lv>=0; lv--) {
if (l - (1 << lv) >= -1 && mxl[l][lv] < A[x])
l -= (1 << lv);
if (r + (1 << lv) <= W && mxr[r][lv] < A[x])
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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...