fork download
  1. #include <bits/stdc++.h>
  2. #define _ ;
  3. #define __ (
  4. #define ___ )
  5. #define ____ [
  6. #define _____ ]
  7. #define ______ ,
  8. #define _______ {
  9. #define ________ }
  10. #define _________ <=
  11. #define __________ =
  12. #define ___________ +
  13. #define ____________ -
  14. #define _____________ >>
  15. #define ______________ <<
  16. #define _______________ void
  17. #define ________________ int
  18. #define _________________ long
  19. #define __________________ 1000100
  20. #define ___________________ 0
  21. #define ____________________ 1
  22. #define _________________________ max
  23. #define ______________________________ for
  24. #define _______________________________ cin
  25. #define ________________________________ cout
  26. #define _________________________________ main
  27. #define __________________________________ using
  28. #define ___________________________________ namespace
  29. #define ____________________________________ std
  30. #define _____________________________________ return
  31. #define se second
  32. #define fi first
  33. #define pb push_back
  34. #define get_bit(mask,j) (mask>>j)&1
  35. __________________________________ ___________________________________ ____________________________________ _
  36. __________________________________ ll __________ _________________ _________________ _
  37. __________________________________ pii __________ pair< ________________ ______ ________________ > _
  38. __________________________________ pll __________ pair<ll ______ ll> _
  39. const ________________ maxn __________ 25e4 ___________ 5 _
  40. const ________________ mod __________ 1e9 ___________ 7 _
  41. const ll inf __________ 1e18 _
  42.  
  43. _______________ read __ ___
  44. _______
  45. #define name "lyson"
  46. _______________________________ .tie __ ___________________ ___ ->ios_base::sync_with_stdio __ ___________________ ___ _ ________________________________ .tie __ ___________________ ___ _
  47. if __ fopen __ name".INP" ______ "r" ___ ___ _______
  48. freopen __ name".INP" ______ "r" ______ stdin ___ _
  49. freopen __ name".OUT" ______ "w" ______ stdout ___ _
  50. ________
  51. ________
  52.  
  53. struct SparseMin _______
  54. ________________ n ______ LG _
  55. vector<vector<ll _____________ st _
  56. SparseMin __ ________________ _n ___ _______
  57. n __________ _n _
  58. LG __________ __lg __ _________________________ __ ____________________ ______ n ___ ___ ___________ ____________________ _
  59. st.assign __ LG ______ vector<ll> __ n ___________ ____________________ ___ ___ _
  60. ________
  61. _______________ build __ vector<ll> &a ___ _______
  62. ______________________________ __ ________________ i __________ ____________________ _ i _________ n _ i++ ___ st ____ ___________________ _____ ____ i _____ __________ a ____ i _____ _
  63. ______________________________ __ ________________ k __________ ____________________ _ k < LG _ k++ ___ _______
  64. ______________________________ __ ________________ i __________ ____________________ _ i ___________ __ ____________________ ______________ k ___ ____________ ____________________ _________ n _ i++ ___ _______
  65. st ____ k _____ ____ i _____ __________ min __ st ____ k ____________ ____________________ _____ ____ i _____ ______ st ____ k ____________ ____________________ _____ ____ i ___________ __ ____________________ ______________ __ k ____________ ____________________ ___ ___ _____ ___ _
  66. ________
  67. ________
  68. ________
  69. ll get __ ________________ l ______ ________________ r ___ _______
  70. ________________ k __________ __lg __ r ____________ l ___________ ____________________ ___ _
  71. _____________________________________ min __ st ____ k _____ ____ l _____ ______ st ____ k _____ ____ r ____________ __ ____________________ ______________ k ___ ___________ ____________________ _____ ___ _
  72. ________
  73. ________ _
  74.  
  75. struct SparseMax _______
  76. ________________ n ______ LG _
  77. vector<vector<ll _____________ st _
  78. SparseMax __ ________________ _n ___ _______
  79. n __________ _n _
  80. LG __________ __lg __ _________________________ __ ____________________ ______ n ___ ___ ___________ ____________________ _
  81. st.assign __ LG ______ vector<ll> __ n ___________ ____________________ ___ ___ _
  82. ________
  83. _______________ build __ vector<ll> &a ___ _______
  84. ______________________________ __ ________________ i __________ ____________________ _ i _________ n _ i++ ___ st ____ ___________________ _____ ____ i _____ __________ a ____ i _____ _
  85. ______________________________ __ ________________ k __________ ____________________ _ k < LG _ k++ ___ _______
  86. ______________________________ __ ________________ i __________ ____________________ _ i ___________ __ ____________________ ______________ k ___ ____________ ____________________ _________ n _ i++ ___ _______
  87. st ____ k _____ ____ i _____ __________ _________________________ __ st ____ k ____________ ____________________ _____ ____ i _____ ______ st ____ k ____________ ____________________ _____ ____ i ___________ __ ____________________ ______________ __ k ____________ ____________________ ___ ___ _____ ___ _
  88. ________
  89. ________
  90. ________
  91. ll get __ ________________ l ______ ________________ r ___ _______
  92. ________________ k __________ __lg __ r ____________ l ___________ ____________________ ___ _
  93. _____________________________________ _________________________ __ st ____ k _____ ____ l _____ ______ st ____ k _____ ____ r ____________ __ ____________________ ______________ k ___ ___________ ____________________ _____ ___ _
  94. ________
  95. ________ _
  96.  
  97. ________________ n ______ q _
  98. vector<ll> a _
  99.  
  100. inline vector<ll> predp __ vector<ll> &f ___
  101. _______
  102. ll cur1 __________ ____________ inf ______ cur2 __________ ____________ inf _
  103. ______________________________ __ ________________ i __________ ____________________ _ i _________ n _ i++ ___ _______
  104. cur1 __________ _________________________ __ cur1 ______ f ____ i ____________ ____________________ _____ ___________ a ____ i _____ ___ _
  105. cur2 __________ _________________________ __ cur2 ______ f ____ i ____________ ____________________ _____ ____________ a ____ i _____ ___ _
  106. f ____ i _____ __________ _________________________ __ cur1 ____________ a ____ i _____ ______ cur2 ___________ a ____ i _____ ___ _
  107. ________
  108. _____________________________________ f _
  109. ________
  110.  
  111. _______________ solve __ ___
  112. _______
  113. _______________________________ _____________ n _____________ q _
  114. a.resize __ n ___________ ____________________ ___ _
  115. ______________________________ __ ________________ i __________ ____________________ _ i _________ n _ i++ ___ _______
  116. _______________________________ _____________ a ____ i _____ _
  117. ________
  118. vector<ll> pre __ n ___________ 2 ______ ___________________ ___ ______ suf __ n ___________ 2 ______ ___________________ ___ _
  119. pre __________ predp __ pre ___ _
  120. reverse __ a.begin __ ___ ___________ ____________________ ______ a.end __ ___ ___ _
  121. suf __________ predp __ suf ___ _
  122. reverse __ a.begin __ ___ ___________ ____________________ ______ a.end __ ___ ___ _
  123. reverse __ suf.begin __ ___ ___________ ____________________ ______ suf.end __ ___ ____________ ____________________ ___ _
  124. vector<ll> hate __ n ___ _
  125. ______________________________ __ ________________ i __________ ____________________ _ i < n _ i++ ___ _______
  126. hate ____ i _____ __________ pre ____ i _____ ___________ suf ____ i ___________ ____________________ _____ _
  127. ________
  128. vector<ll> pref __ n ___________ 2 ______ ____________ inf ___ ______ suff __ n ___________ 2 ______ ____________ inf ___ _
  129. vector<ll> preg __ n ___________ 2 ______ ____________ inf ___ ______ sufg __ n ___________ 2 ______ ____________ inf ___ _
  130. ______________________________ __ ________________ i __________ ____________________ _ i _________ n _ i++ ___ _______
  131. pref ____ i _____ __________ _________________________ __ pref ____ i ____________ ____________________ _____ ______ pre ____ i ____________ ____________________ _____ ___________ a ____ i _____ ___ _
  132. preg ____ i _____ __________ _________________________ __ preg ____ i ____________ ____________________ _____ ______ pre ____ i ____________ ____________________ _____ ____________ a ____ i _____ ___ _
  133. ________
  134. ______________________________ __ ________________ i __________ n _ i >= ____________________ _ i-- ___ _______
  135. suff ____ i _____ __________ _________________________ __ suff ____ i ___________ ____________________ _____ ______ suf ____ i ___________ ____________________ _____ ____________ a ____ i _____ ___ _
  136. sufg ____ i _____ __________ _________________________ __ sufg ____ i ___________ ____________________ _____ ______ suf ____ i ___________ ____________________ _____ ___________ a ____ i _____ ___ _
  137. ________
  138. ________________________________ ______________ pre ____ n _____ ______________ " " _
  139. SparseMax stm __ n ____________ ____________________ ___ ______ st0 __ n ___ _
  140. SparseMin st1 __ n ___ _
  141. stm.build __ hate ___ _
  142. st0.build __ a ___ _
  143. st1.build __ a ___ _
  144. while __ q-- ___ _______
  145. char type _
  146. ________________ x ______ y _
  147. _______________________________ _____________ type _____________ x _____________ y _
  148. if __ x > y ___ swap __ x ______ y ___ _
  149. if __ type == 'H' ___ _______
  150. ________________________________ ______________ stm.get __ x ______ y ____________ ____________________ ___ ______________ " " _
  151. ________
  152. else _______
  153. ll mx __________ st0.get __ x ______ y ___ _
  154. ll mn __________ st1.get __ x ______ y ___ _
  155. ll res __________ pre ____ x ____________ ____________________ _____ ___________ mx ____________ mn ___________ suf ____ y ___________ ____________________ _____ _
  156. res __________ _________________________ __ res ______ pref ____ x ____________ ____________________ _____ ____________ mn ___________ suf ____ y ___________ ____________________ _____ ___ _
  157. res __________ _________________________ __ res ______ preg ____ x ____________ ____________________ _____ ___________ mx ___________ suf ____ y ___________ ____________________ _____ ___ _
  158. res __________ _________________________ __ res ______ pre ____ x ____________ ____________________ _____ ___________ mx ___________ suff ____ y ___________ ____________________ _____ ___ _
  159. res __________ _________________________ __ res ______ pre ____ x ____________ ____________________ _____ ____________ mn ___________ sufg ____ y ___________ ____________________ _____ ___ _
  160. res __________ _________________________ __ res ______ pref ____ x ____________ ____________________ _____ ___________ suff ____ y ___________ ____________________ _____ ___ _
  161. res __________ _________________________ __ res ______ preg ____ x ____________ ____________________ _____ ___________ sufg ____ y ___________ ____________________ _____ ___ _
  162. ________________________________ ______________ res ______________ " " _
  163. ________
  164. ________
  165. ________________________________ ______________ "\n" _
  166. // cout << preg[2] + sufg[4];
  167. ________
  168.  
  169. signed _________________________________ __ ___
  170. _______
  171. read __ ___ _
  172. ________________ subtask _
  173. _______________________________ _____________ subtask _
  174. solve __ ___ _
  175. _____________________________________ ___________________ _
  176. ________
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
0