Submission #574704

#TimeUsernameProblemLanguageResultExecution timeMemory
574704SlavicGSecret (JOI14_secret)C++17
100 / 100
436 ms12332 KiB
#include "secret.h" #include "bits/stdc++.h" using namespace std; #define ll long long #define forn(i,n) for(int i=0;i<n;i++) #define all(v) v.begin(), v.end() #define rall(v) v.rbegin(),v.rend() #define pb push_back #define sz(a) (int)a.size() const int N = 1005; int val[N][N], mm[N][N]; /* int Secret(int l, int r) { return 69; } */ void build(int l, int r) { if(l >= r) return; int mid = l + r >> 1; for(int i = mid - 1; i >= l; --i) { val[i][mid] = Secret(val[i][i], val[i + 1][mid]); } for(int i = mid + 2; i <= r; ++i) { val[mid + 1][i] = Secret(val[mid + 1][i - 1], val[i][i]); } for(int i = l; i <= mid; ++i) { for(int j = mid + 1; j <= r; ++j) { mm[i][j] = mid; } } build(l, mid); build(mid + 1, r); } void Init(int n, int a[]) { forn(i, N) forn(j, N) val[i][j] = -1; forn(i, n) val[i][i] = a[i]; build(0, n - 1); } int Query(int l, int r) { if(val[l][r] != -1) return val[l][r]; int mid = mm[l][r]; return Secret(val[l][mid], val[mid + 1][r]); } /* void solve() { } int32_t main() { ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int t = 1; //cin >> t; while(t--) { solve(); } } */

Compilation message (stderr)

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