Submission #1126381

#TimeUsernameProblemLanguageResultExecution timeMemory
1126381monaxiaSecret (JOI14_secret)C++20
0 / 100
20084 ms4364 KiB
#include <bits/stdc++.h> #include "secret.h" using namespace std; using ll = long long; using ull = unsigned long long; using ld = long double; const ull Mod = 1e9 + 7; // int Secret(int l, int r){ // return (l ^ r); // } int n, timer = 0; vector <int> st(4e3 + 5, 0); void build(int idx, int l, int r, vector <int>& a){ if(l == r){ st[idx] = a[l]; return; } int mid = (l + r) >> 1; build(idx * 2, l, mid, a); build(idx * 2 + 1, mid + 1, r, a); st[idx] = Secret(st[idx * 2], st[idx * 2 + 1]); } int query(int idx, int l, int r, int u, int v){ if(u <= l && r <= v) return st[idx]; int mid = (l + r) >> 1; int ans = 0; bool left = (mid <= v) ? 1 : 0, right = (mid >= l) ? 1 : 0; if(left && right) ans = Secret(query(idx * 2, l, mid, u, v), query(idx * 2 + 1, mid + 1, r, u, v)); if(left && !right) ans = query(idx * 2, l, mid, u, v); if(!left && right) ans = query(idx * 2 + 1, mid + 1, r, u, v); return ans; } void Init(int N, int trash[]){ n = N; vector <int> a(n + 5, 0); for(int i = 1; i <= n; i ++){ a[i] = trash[i - 1]; } build(1, 1, n, a); } int Query(int l, int r){ return query(1, 1, n, l, r); } void solve(){ // int n1; // cin >> n1; // int a1[n]; // for(int i = 0; i < 5; i ++) cin >> a1[i]; // Init(n1, a1); // cout << Query(181, 362); } // ++++ // ++++-::......:--:::-=+++ // ++++=:............---.....--:..:=++++++ // +++++++::......................::=+++++ // @@ ++++++++++:+++++++++ // @% @* // %%@@ *****#*@@ // %%%%% @##**##***% // @@@@@@+-*#*@ #####%+*##*@ // %#+@%%@@@ ##-%:::-#*###@@ // =====:*::: ###-:==::=#*%* // -====:::::+@@%@@%@#*--=*#%%#@%@ @%@ // @=====%=-@%=:::.:+-::::+::::::::::::%-----%% @@@@@ // @@%#*@++%===+::-================@%@@@@+++++++@@@%%%@#%###% // @#***#@@ @##=%@===+--:+==+===+%*##@%%%@@@@@@@@@@:= @%@%%%@#%% // -@ @*#@ #####%:::-====+:::==---**%#@ *%%%%@@@@@@-: // -=-*% # #***--%%::::::::+=-+#-----=**@*# #+**#@# // ----=----#+****=----=*#@=::::::=#-----------***%*% // ------------%*****##=@==::::::+%-----------***%** // +-----------------*@++%::::::::-----------****@*# // =------------% @%=+%#+:::::::* #-----*--**** ** // ----%--% *==+++++=+=##*:% ---=--**** ** // %@@@@@@@@@==@+%%%%@ ----**** *# // @=*+%@@@%@@=++=:%:::% #***@@# // #+++++++++#==++-:::::: @**** *# // =+++++++++++==+++::::::: ####@ #% // +++++++++++=@ @++++::::::@ @# // @+++++++++=@ =*++=:::::@ // ++++++++@ @++++::::: // ++++++= =++++::: // =+++++@ =+++:::: // ++++++-@ =+++:+:: // @::+::::@ =++::-::: // +::=::::: @+*+:-+++-: // @::+-:::::# +++::::::@ // ::%=:::::::%@ @%++::::*** // @:+@*:::::::****@ +@+++:-=*:*@ // *:@@%::::::::=**** @%@+++:::#**@ // *%@@@-:::::::%=+==*@ +@%+++:***+* // #%@@%%::::::::#+=-=# =+@+++++:::*+ // @####+::::::::%+=@#%#=@ @**@@%=++::::@ // @ +:::::::::***#*@ @@###+=+=%@ +**#+=+*+:::- // =-:::::::%%%%@@ @#=*########%#+*%%+--@*+::% // +---%@ @@ =-:-**:# // %%%%% @+--*@ // @%%%%@ @%%%%% // @%%@@
#Verdict Execution timeMemoryGrader output
Fetching results...