Submission #606165

#TimeUsernameProblemLanguageResultExecution timeMemory
606165kawaiiSecret (JOI14_secret)C++14
0 / 100
477 ms8276 KiB
#include "secret.h" #include<bits/stdc++.h> using namespace std; int n, a[1005], pre[1005][1005]; void dnc(int l, int r){ if(l == r) return; int mid = l + r >> 1; dnc(l, mid); dnc(mid + 1, r); for(int i = mid - 1; i >= l; i--) pre[i][mid] = pre[mid][i] = Secret(a[i], pre[i + 1][mid]); for(int i = mid + 2; i <= r; i++) pre[mid + 1][i] = pre[i][mid + 1] = Secret(pre[mid + 1][i - 1], a[i]); } void Init(int N, int A[]){ for(int i = 1; i <= N; i++) a[i] = A[i - 1], pre[i][i] = a[i]; n = N; dnc(1, n); } int solve(int l, int r, int lf, int rt){ if(l == r) return a[l]; int mid = l + r >> 1; if(lf <= mid && mid <= rt){ if(lf == mid) return pre[mid][rt]; if(rt == mid) return pre[lf][mid]; return Secret(pre[lf][mid], pre[mid + 1][rt]); } if(rt < mid) return solve(l, mid, lf, rt); else return solve(mid + 1, r, lf, rt); } int Query(int L, int R){ L++; R++; return solve(1, n, L, R); }

Compilation message (stderr)

secret.cpp: In function 'void dnc(int, int)':
secret.cpp:9:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
    9 |     int mid = l + r >> 1;
      |               ~~^~~
secret.cpp: In function 'int solve(int, int, int, int)':
secret.cpp:23:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   23 |     int mid = l + r >> 1;
      |               ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...