Untitled
unknown
plain_text
5 months ago
16 kB
3
Indexable
/** .@@ .@@@@ :--:::::::-----==: %%@@@% :*++*+==--========----------:-==: @%@@@@. .:. ..-=+=+*+==---=----------------------:*@%@@@@ .:.. .::::-----==+++====+***#+----=------:--------:-=%%@@@#+%@@@@@@@@@@@@@@@@@@@@@@@ :+%@@@@@@@@@@@@@@%::::=*=+++++=++==*%*=-:=*#+##=-----------------:::-@%@@@@@@@@@@@@@@@@@@@@@@@@@@@* %%%%%%%%%%%%@@@@@@= .:=%@@@@@%#+=+++%@@@%+-==--++-=*=-------------:-----:*@@@@@@@@@@@@@@@@@@@@@@@@@@% .@%%%%%%%%%@@@@%- .-+%@@@%@%%%####%#*#%%%%==----+=:-++-::------=----:::-:=@@@@@@@@@@@@@@@@@@@@@@@@% %%%%%%%%@%@@+ .::*%@@@@%#**#####******+*%+===---+=..:==---------:---::::-@@@@@@@@@@@@@@@@@@@@@@@ %%%@%@%@@@: .:.%%%%%#=+*+*+*#*+=+***+*#+##=--=-:-+. ==--------::::--::-@@@@@@@@@@@@@@@@@@@@@ .#%%%@%@% . -@%%%*==+*++++**+++=+*++=++=+#--=----=: +---:-::::::::--:-%@@@@@@@@@@@@@@@@@@= :@%%%@= . =%%%#---======+=========++=====*+--=-=--=. --::::::::::::--=@@@@@@@@@@@@@@@@@@@: @%@# . -%%*+---========-:===++======-==-==--=-----: :-::::::::::::-=@@@@@@@@@@@@@@@@@@@= @#. . .#*=+.-=-==-==-=-::===+=-==-=--=--==+=:------= .-:::::::-:--:--#@@@@@@@@@@@@@@@@@@# - #+=-.:----=------.:-=-*===----==--==-+=-:::-::-: :-::::::::::::==+@@@@@@@@@@@@@@@@@@ . -==:..-=--==--:--:.-===+====----=====--=--::::::-- ::::::::::--:=%*=*@@@@@@@@@@@@@@@@. .+: . .==-. :----==-::--:.---==-===---:------:----::::::-+ -:::------=--+#+#@@@@@@@@@@@@@@@@. . . - ::--. .::---:-:.-=-: :--==--==:=--:-::::::--=-:::-:::*. :::-==-==--:--**@@@@@@@%@@@@@@@@@= :.: :::.. .--:::::: --::.:-:---:--:--:::::::::--:==:::::::+. -:-=-=------:*+@@@@@@@@+ #@@@@@@ #-. -::.. .=+:::::-:.--:-:.::::::::::+:::::::::::::=-:::::::=. :=-=---------=%@@@@@@@@@ :@@@@ =@-. :=.. -=::::-:=.:::::-.::::::::::%.::::::::::::-=:::::::-+- *%+=-------::%@@@@@@@@@: :. #@*. +-.. :-:::::::-..::::::.:::::::::%:-==:..::::::--+:::-:-==== :*%*+--------@@@@@@@@@@@ .@@# :=: .::::::::-:.::::::-.::::::.::#.:-=-.:..::-.::-+:-=--===-= -#++*+===-:#@@@@@@@@@@@@ *@@*. . --. .:::::::::-..::::.:::.::..:..-+:: :.......=-.::==--==-====- .**++++++=*@@@@@@@@@@@@@@: =@@@==. .: .=-. ::::::.:::= .::::...::.-.....+::. - :....:*::--==--=======- -*++=+=++@@@@@@@@@@@@@@@@@@%- +@@@@::- . .:- :=-. .::::::.::=- .::......=.=.....+ :. : ... - -:-==+---==-=--*: . .*++++=+%@@@@@@@@@@@@@@@ :@@@@%.=.. : :--.-=:..:.::.:....- ......... --: ::.:. . :::.- ----=#+====-==-*. :*++=++@@@@@@@@@@@@@. +*#-- :.:: :-::==..::.:..:...:: .:....... . :: :. :. -::. ..:#=-=+-==-===-=+.+ .. -+=++%#=-+=%@@@@# . ...::.--::==: ::........-:..=- : . . . .:. :-*- .:=-+====-==--=-+# :. +++++==+++++*@@* :.::.::-.-==-.=-:...--.: :.::-. : .: :+--:. ::.==+===---=-=+--%. +@@=. :=*+++++++*++* .::::::::==---=-:.. =- . ..: :..: .:... : -. .+. -*=:.+@@@@@@@@*====---=+*:**. . =@@**%+:-+*%*++***+= . ...::::::-+=--+-=:--.+:. .. :.-.:::::. .: :.*. :-:+#@@%#++=%:-@##+===-==-=+--==+ .. .###*+++**#@%#+*+++*= ..::::::::.*+--:=-----:=:-....::=:--=:....:..=. :. ..+@@@*+==---#-=@*+*====-===+:-=*@% :: *#*+*#+*++#%%%%##*+++- .::.:::::::%=--:-------: . : -:-+#+-....= ..: -*#::%+-:=+---:+**-+==-===-=-+-=@@@@ -# =***#%#+*+#%==*+ :.:::::::::-+=:---=-----. . :. ::=..:..: . : -=--:..:--+#-:-+=======-%==#@@@@:.@= :#***%%#*+=#-== :-::-::::.:--*:---=-=---: . ..-+*#%#=-+:...:. :+-....-+=::::#=======-*%-+@@@%@@-%%- .#++*%%#*+#*+- . =-:::=:::::-:+.:--=-=--:- .=**+-:::+++%-..:. . трах ::..--:....:=#-=====-#@+=@@@%*%@%%@%- -*+#%:*%++*= =:::---:------::-:==-=--+. ....: :.:. . ......::*=-====-*@#-%@@%#*%%%%%%@*. +**- .*#**= +:::. :---=--=:=:-:==-==-:@. .....:. ..:. ...::...--:*=====-+@@-*@%%*##%%*###+#*= +- ::-:** ::-: .:---.#:=.:-==-==-:%% .... ..: : := ==-+==-*@@=*@%#**#%#****##*++**- .: . .-- .:--:=:=-.-==-==-:%@+ .... .: :: :=--===#@@**%%**#*##***++**+=+*- :: :. :----=.- -=-====-%@@: ... . . . :---==-@@@#%%%#*#*******+++***+# : . -:--: .:-+--==-:%@@@ . #%:-===@@@#%##*##**+++#*+*+*+****- ::-: *:%==----*+%@% . . #@%--+=*@%@%%##**#**+++%#*==+*++*+= -=:-. #:+#+---:#%++%#. . .:. .:+ ..#@@@--**%%%%%###*+#++*++*--+*==+++-+. . =:: -==%@--=-=%**%%+ =@+ .....:.:.:. .*:@@%--%%@%%%####**#++*+++--: .+*-== :---+**%%---:@**%%#+ . :@%%%::.:::::..:.: .-::%%%-:@%%%%%###**#*+++=*+-:: :==:-= . :=-+*##*#:-:**+*%**@: =@#*:.:::::::::: .:...:@%%-+%%%%%###**+%*==+=%=:-. .. :. . +*=+**%**-:=***##*+%%. . .*%.:::::::::.. :. ....@%%=%%%#*#####+#%+===+:-:-. . .+-++**#+** +*-*++++%%%. .. --:.::.::: =: . .%%#+%%####*+@*++%+=-+. .:- --++=**#*+*-++==+++%%%#@+.. .:::. :=. . .%%%#*#*##*#+#=++#===: .- . . =-=+****+**+#:+==++#%%#%%%@%=. .. :-: . %#%###%*##.:*+==#++- : . :-=+=++***++#-:+++*++*#%%%%@@%=.. .. :---. #@@%@@@@= := .+-+- . . :.-===++**+==*+::+#++++*#%%%%%%%%-. .*=:-:. *%%%##*==+**#*+==*+= : -::====++*=+=+*==*=-=#**##%#%%%%%*+-:%#--:-. .. .%#*=-==-*#*++==++-=#*: :*::**=====+**==+=++*##*+++**##%%%%%%. :::.:. .. .:=--===+@#*+++=+*+=-=+=*#= #-=+==*=-++++#++==-++++*++++*#%%%%%%=- .:.... . . -=--=+@#*#%@@%+==+=====+*+ ..*++==+**+:=*++%++++#++++++*+**#%%%%#-=. .:........ .@-=+++#%%@@%@=======++*@+ .+-.-+*==*++#+-:=++*%+=**++++++*++**%%%%--=-.::.......... .: ==++*%@@%@+========+*#@@+ -:--.=-*+*+++++=:.:-+*#+++*****=+*##%+#%==---::........... : .+%@@@%@#+======++*#%%@@#%= +::-:==--=*==**=#=:::-+#**+*+**++**%=.-++-:::--... .. .... :. ..-@@@*++====++++*#%@@@%*=+. =---.=--:*+=+#*+=:-:--=++=**+++++*#+:=-.--:.:::.......... + ..*%-+=-====+++*###@@@#+=+#* =----==-*+===@%:..-=---++##=+++***#-. .:=::...:.......... := :*:==-=====+++*%#%@@*++++##@* .+=-=*=+#*---==%:.:-=%+#+-:--+++*+*%:.. -::............. :. .--==-=======+*#*%@%+++==+##@#%+ -:=##*+=-::-===+:.--+*#---::+*++++#+ ....- .:......... .. . :+. . =============+**#*++++===*%%#%###. :--*#@*+-::::-==-:-=#=.---:-+*==+#-......-: .......... :. +============+*##**++====*%%%#**+=+ .:---%=@*+-::--:-:.-*=:=:--=#++*@%-... . .-:.... ...... .:. .=-===========+**+++===-===*#***+++=-: ..:-==+*#+*=:-::--.=+=::-=+*+%@+#@%.... ..-:. ......... .- .+============++========--===++**++==-- .:----++%**-:: .+=+=++++++*%#+@@@%......-:. . =. . .+-===-===-==++==--===------==+++====--: ..:--=*#%*+= .=%##-:-+++*##+@@@@@.... -:. . ..- -+==-======++*=======------==++======+*#* .::=-=#+#- .::=#-:-:=++=+##*@@@@@@.. .::. . -: . .=+==-==+-==++=:=---=----========+**+=----:= .::--=+#=.:::-*=:::::++=+*#*%.#@@@@:..::. . . .+ .=#*++++*+=====--=-=---=--=+**##*+=====-------:- ..::-=*+::::=:.::::--===**+*. -@@@@:.:: ... . -.. . . .-%@@@*+*#*#*+====--=-:----*##*+==--==---======----: ..:-:+:-:--:::--:::-+#*+++: @@@@+:- .. . +. .. -@@@@@@@*@%*###*======*+-=-=%#=-=======-====-=======-:-+ ..:=::::::::::-:**++=-++. .@@@@#= . . :+ :#@@@@@@@@@%##%%%%#+++==#@%%@=**+==========-------=====-=+== . .:::::::--+==----+#++. .@@@@@ .. ..:::+#%@%@@@@@@@#@%%%%%%@%*=+#@@@%@#%@=============------=====++++=+ .... ..::=-:----+*=+**=++@@@@@:.-*@@%%%%%@@@@*:. .@@%%@%%@%**%@@@@@##@@*========--------=====+++*#*+== . ...::=:--==++=+++=+++%@@@@@@@%%@%@@#- :%#%%%%@%#@@@@@@@%#@*@@+--===-----------======*##**=-- ...:.--:--=*+===++=++=#@@@@@%%%#*++=. :%%%@@%%@@@@@@@@+@@#+*@@+===-----------====+++*##**+=-: ....:+=:-==#++===+++===%@@%#*+==+++++++*##@@@%@@@@@@@@@**%##+=-%@#=-------------====+++*##*++=-:. ..:-+#===+# .-:=+=*+*+#*+==+++++++++**%@@@@@@@@@@@*-@@#+=+==+@@=--------------===+++*##*+=-:. ..:=%+==+% =#*-##*#+=%+++=++*+#%@@@@@@@@@@:%@#*=+=-+=#@@+-=-------------====+*#*++=-:. .=*===* .--#:..-#@@-. .:=**@@@@@@@@*@@@%+%+@@=--#@%=--:----------------=+++==-:. =::-- :*-##==-. -@@@@@@@@@@@@@@@@@@@@@%+=::::::::::::::::::--====-:.. ... *%=-..... %@@@@@@@@@@@@@@@@@@@@@*-::..:.............:::--:.. .-: :: ==. ..... +@%@@@@@@@@@@@@@@@@@@@@*.:. . ... .... . =@*-: ::..:---::... :#*#@@@@@@@@@%%@@@@@@@@@@+ . :* ##+%+: ...::::*-:::@@@@@@%##%%%%@@@@@@@# -+. *+ = -: .. .#@@%%%%##*+*#%@@@%%%= . : :: @@@%%%######%%%%#####%= = # @@@@@%@@%%%###*##*- . . = :@@%%%%###******+=- . *@###***+**+++: -*- =*++*: Credit for the pic: J5-daigada from deviantart */ #include <bits/stdc++.h> #define ll long long #define f first #define s second #define pb push_back #define eb emplace_back #define ub upper_bound #define lb lower_bound #define np next_permutation #define us unordered_set #define um unordered_map #define cont continue #define pq priority_queue #define No cout << "No" << endl #define Yes cout << "Yes" << endl #define NO cout << "NO" << endl #define YES cout << "YES" << endl #define yes cout << "yes" << endl; #define no cout << "no" << endl; #define me *max_element #define mie *min_element #define acc accumulate #define sc static_cast using namespace std; ll rch = 0, sch = 0; const ll MOD = 1e9 + 7; const ll MAXN = 1e5 + 10; bool was[1001]; const ll Inf = 1e9 + 5; const ll N = 100005; const ll tree = 400004; ll a[tree]; ll t[tree]; bool b[tree]; void build(int v, int tl, int tr){ if (tl == tr){ t[v] = a[tl]; return; } int tm = (tl + tr) / 2; build(v * 2, tl, tm); build(v * 2 + 1, tm + 1, tr); t[v] = t[v * 2] + t[v * 2 + 1]; } void update(int idx, int val, int v, int tl, int tr){ if (tl == tr){ a[idx] = val; t[v] = val; return; } int tm = (tl + tr) / 2; if (idx <= tm){ update(idx, val,v * 2, tl, tm); } else { update(idx, val, v * 2 + 1, tm + 1, tr); } t[v] = t[v * 2] + t[v * 2 + 1]; } int get(int l, int r, int v, int tl, int tr){ if (r < tl || tr < l){ return 0; } if (l <= tl && tr <= r){ return t[v]; } int tm = (tl + tr) / 2; return get(l, r, v * 2, tl, tm) + get(l, r, v * 2 + 1, tm + 1, tr); } void solve(){ ll n, m; cin >> n >> m; for (ll i = 1; i <= n; ++i){ cin >> a[i]; } build(1, 1, n); for (ll j = 0; j < m; ++j){ ll q; cin >> q; for (ll i = 1; i <= n; ++i){ if (a[i] > q){ update(i, q, 1, 1, n); } } cout << get(1, n, 1, 1, n) << endl; } } int main() { /*freopen("rmq.in", "r",stdin); freopen("rmq.out", "w",stdout);*/ ios_base::sync_with_stdio(0),cin.tie(0); int ttttt = 1; //cin >> ttttt; while (ttttt--){ solve(); } return 0; } /* bin search formule Eratosphen's sieve formule int low = 0, right = 1e9, ans = 1e9; bool was[MAXN + 10]; while (low <= right){ for(int i = 2; i * i <= MAXN; i++){ int mid = (low + right) / 2; if(!was[i]){ if (check(mid)){ for(int j = i * i; j <= MAXN; j +=i + i){ ans = mid; was[j]=true; right = mid - 1; } } } else{ } low = mid + 1; } } cout << ans; get_sum formule int a[1000005]; int t[4000004]; int get_sum(int l, int r, int v, int tl, int tr){ if (l <= tl && tr <= r){ return t[v]; } if (tr < l || r < tl){ return 0; } int tm = (tl + tr) / 2; return get_sum(l, r, v * 2, tl, tm) + get_sum(l, r, v * 2 + 1, tm + 1, tr); } update formule int a[1000005]; int t[4000004]; void update(int idx, int val, int v, int tl, int tr){ if (idx <= tl && tr <= idx){ a[idx] = val; t[v] = val; return; } if (tr < idx || idx < tl){ return; } int tm = (tl + tr) / 2; update(idx, val, v * 2, tl, tr); update(idx, val, v * 2 + 1, tm + 1, tr); t[v] = t[v * 2] + t[v * 2 + 1]; } ll query(int l, int r, int v, int tl, int tr){ if (l > r){ return 0; } if (l == tl && r == tr){ return t[v]; } int tm = (tl + tr) / 2; return query(l, min(r, tm), v * 2, tl, tm) + query(max(l, tm + 1), r, v * 2 + 1, tm + 1, tr); } void push(int v, int tl, int tr){ if (a[v] != 0){ t[v] = a[v]; if (tl != tr){ a[v * 2] = a[v]; a[v * 2 + 1] = a[v]; } a[v] = 0; } }*/
Editor is loading...
Leave a Comment