Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.29 KB | None | 0 0
  1. /*
  2. oooooooydmmNNNNNNNNNNNNNNNNNNNNNNmmmNNNNNNNNNNNNNNNNNNNNNNNNNNNNmdhyooooooo
  3. ooooydNNNNNNNNNNNNNNNNNNNNNNNNmmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNdyoooo
  4. oosmNNNNNNNNNNNNNNNNNNNNNNNNNNmmmmddmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmsoo
  5. oshmNNNNNNNNNNNNNNNNNNNNNNNNmdsshdmmmmmmNNNNNNNNNdmNNNNNNNNNNNNNNNNNNNNNNyo
  6. shhdNNNNNNNNNNNNNNNNNNNNNmys++/:--.....-:+oshmNNNmhmNNNNNNNNNNNNNNNNNNNNNNy
  7. yhhhNNNNNNNNNNNNNNNNNmho:.`` `./sdNNNNNNNNNNNNNNNNNNNNNNNNNNm
  8. hhhhNNNNNNNNNNNNNhhyo-` `-/ydNNNNNNNNNNNNNNNNNNNNNNNNN
  9. hddhdNNNNNNNNNNNd+.` .:+hNNNNNNNNNNNNNNNNNNNNNNNN
  10. hmdyhdNNNNNNNNdo-` .:+mNNNNNNNNNNNNNNNNNNNNNNN
  11. yyddyhmNNNNNmo. `/oymNNNNNNNNNNNNNNNNNNNNNN
  12. sshmmNNNNNNd-` ` ` `+ssdNNNNNNNNNNNNNNNNNNNNN
  13. ooyNNNNNNNm: `````` `://sdNNNNNNNNNNNNNNNNNNN
  14. sydmNNNNNNd. ```` ` `..`` ``:smNNNNNNNNNNNNNNNNN
  15. mmmmNNNNNNd. ` ````` `.-:///:-` `.+dNNNNhNNNNNNNNNNN
  16. NmmNNNNNNNd. ` -/shhhhdds- `:yNNNhdmNNNNNNNNN
  17. NNNNNNNNNNd` ```` ` ``` `:hd/-::-omy` `-smNNhdNNNNNNNNN
  18. NNNNNNNNNNy `.:/+oo+:. ` `` `/do `ys .ho` `:smNddNNNNNNNNN
  19. NNNNNNNNNNy `:/ydhs++++. ` ``` -yho:::-++. `:yNNmNNNNNNNNN
  20. NNNNNNNNNNm. .:omm-`y/ +/` ` ````` ``-+sso+:-``` `/hNNNNNNNNNNN
  21. NNNNNNNNNNN/ `.+mm/-/::s/``` ```` ```....``````` .+mNNNNNNNNNN
  22. NNNNNNNNNNNo `.+hddhys+-.`````````` ````...``````` `:hNNNNNNNNNN
  23. NNNNNNNNNNN+ `.:::--...``` ``````` `````` -sNNNNNNNNyo
  24. NNNNNNNNNNd- ```````````` `````` .+dNNNNNNN/.
  25. NNNNNNNNNNh` ````````` `` ` .:omNNNNNN/`
  26. NNNNNNNNNNy` ` ```` ``` `.:hNNNNNN/
  27. NNNNNNNNNNh` ```` ``` `--` `.oNNNNNN+
  28. NNNNNNNNNNm- ` ` `` `./oo:` `+NNNNNNs
  29. NNNNNNNNNNNy` ``` `:oyhs:` `+NNNNNNy
  30. NNNNNNNNNNNNo.` `.`` `-/shhyo:` `-sNNNNNNy`
  31. NNNNNNNNNNNNNs. `-//:.` `..:oyyys+-` `/mNNNNNNs`
  32. NNNNNNNNNNNNNNh:` `-/oso:.` ``````...`````-.-shhs/. `:hNNNNNNd/
  33. NNNNNNNNNNNNNNNm+` `.:osyyo/::-.`` .:syso/. `.:yNNNNNNNd:
  34. mNNNNNNNNNNNNNNNNy:` `.:osyy+.```` `-:+ssso+-` .-/sNNNNNNNNy-.
  35. yNNNNNNNNNNNNNNNdNms:.````-/osyo.``` ...`./+:oo+/-.`` `.:+smNNmmNNNNo./
  36. ohNNNNNNNNNNNNmNhhNhoo:.` ``:osyo:+++:/:--`..-+ss+:-.`` `-/oymNNh-ydNNh//o
  37. ooymNNNNNNNNNs+NmsNd.-os/...`-+yhy+-.````../+sssy++/-:.`.:oshmNNm-:+yNNhooo
  38. ooooydNNNNNNN:-yNhdN/ -oyo//-.+yhhhyssyyyoooyhhyhs/-.`.+hmNNNNN/.//sdyoooo
  39. oooooooyhmmNy:-:hhyms` .oddh+:+hdddhyyhhhhhddddh+-..-/hNNNNNN+--/+ooooooo
  40. */
  41. #pragma comment(linker, "/stack:200000000")
  42. #pragma GCC optimize("Ofast")
  43. #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
  44. #pragma GCC optimize("unroll-loops")
  45. #include<bits/stdc++.h>
  46.  
  47. using namespace std;
  48.  
  49. typedef long long ll;
  50. #define vll vector< ll >
  51. #define pll pair<ll, ll>
  52. #define vpll vector<pll>
  53. #define vvll vector<vector< ll > >
  54. #define fo(in, out) freopen(in, "r", stdin);freopen(out, "w", stdout);
  55. #define int ll
  56. #define debug(a) cerr << #a << " = " << a << '\n';
  57. #define debug2(a, b) cerr << #a << " = " << a << ", " << #b << " = " << b <<'\n';
  58. #define debug3(a, b, c) cerr << #a << " = " << a << ", " << #b << " = " << b << ", " << #c << " = " << c << '\n';
  59.  
  60. signed main(){
  61. #ifdef DEBUG
  62. // freopen("in.txt", "r", stdin);
  63. #endif
  64. ios_base::sync_with_stdio(0);
  65. cin.tie(0);
  66. cout.tie(0);
  67. ll n, q;
  68. cin >> n >> q;
  69. ll s = (ll)(sqrt(n+1));
  70. ll m = n+s-1;
  71. m/=s;
  72. vll op(n, 0);
  73. vll b(m, 0);
  74. ll bal = 1;
  75. vpll v(1, {-1,-1});
  76. for(ll j=0;j<q;j++){
  77. ll type;
  78. cin >> type;
  79. if(type==1){
  80. ll l, r;
  81. cin >> l >> r;
  82. l--;
  83. r--;
  84. int bl = l/s,br = r/s;
  85. ll res = 1;
  86. if(bl==br){
  87. for(int i=l;i<=r;i++){
  88. if(op[i]!=0){
  89. res = 0;
  90. }
  91. }
  92. }
  93. else{
  94. for(int i=l;i<=(bl+1)*s-1;i++){
  95. if(op[i]!=0) res = 0;
  96. }
  97. for(int i=bl+1;i<br;i++){
  98. if(b[i]!=0) res = 0;
  99. }
  100. for(int i=br*s;i<=r;i++){
  101. if(op[i]!=0) res = 0;
  102. }
  103. }
  104. if(res){
  105. if(bl==br){
  106. for(int i=l;i<=r;i++){
  107. if(b[i/s]!=0) b[i/s] = -1;
  108. op[i] = bal;
  109. }
  110. }
  111. else{
  112. for(int i=l;i<=(bl+1)*s-1;i++){
  113. if(b[i/s]!=0) b[i/s] = -1;
  114. op[i] = bal;
  115. }
  116. for(int i=bl+1;i<br;i++){
  117. b[i] = bal;
  118. }
  119. for(int i=br*s;i<=r;i++){
  120. if(b[i/s]!=0) b[i/s] = -1;
  121. op[i] = bal;
  122. }
  123. }
  124. bal++;
  125. v.push_back({l, r});
  126. }
  127. cout << res << '\n';
  128. }
  129. else{
  130. ll ind;
  131. cin >> ind;
  132. ind--;
  133. if(op[ind]==0){
  134. cout << "0 0\n";
  135. continue;
  136. }
  137. pll a = {0,0};//v[op[ind]];
  138. ll l = a.first, r = a.second;
  139. int bl = l/s,br = r/s;
  140. if(bl==br){
  141. for(int i=l;i<=r;i++){
  142. op[i] = 0;
  143. }
  144. }
  145. else{
  146. for(int i=l;i<=(bl+1)*s-1;i++){
  147. op[i] = 0;
  148. }
  149. for(int i=bl+1;i<br;i++){
  150. b[i] = 0;
  151. }
  152. for(int i=br*s;i<=r;i++){
  153. op[i] = 0;
  154. }
  155. }
  156. cout << l+1 << ' ' << r+1 << '\n';
  157. }
  158. }
  159. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement