fork download
  1. #include<unordered_map>
  2. #include<unordered_set>
  3. #include<functional>
  4. #include<algorithm>
  5. #include<iostream>
  6. #include<hash_map>
  7. #include<iterator>
  8. #include<iomanip>
  9. #include<numeric>
  10. #include<cstring>
  11. #include<vector>
  12. #include<bitset>
  13. #include<string>
  14. #include<deque>
  15. #include<stack>
  16. #include<queue>
  17. #include<array>
  18. #include<cmath>
  19. #include<list>
  20. #include<map>
  21. #include<set>
  22.  
  23. #include <ext/pb_ds/assoc_container.hpp>
  24. #include <ext/pb_ds/tree_policy.hpp>
  25.  
  26. using namespace __gnu_pbds;
  27. using namespace std;
  28.  
  29. typedef long long ll;
  30. typedef unsigned long long ull;
  31. typedef double db;
  32. typedef long double ldb;
  33.  
  34. #define ordered_set tree<ll, null_type,less_equal<ll>, \
  35. rb_tree_tag,tree_order_statistics_node_update>
  36. #define pii pair<int,int>
  37. #define pll pair<ll,ll>
  38. #define inf INT32_MAX
  39. #define linf INT64_MAX
  40. #define pf push_front
  41. #define pb push_back
  42. #define ppb pop_back
  43. #define ppf pop_front
  44. #define ff first
  45. #define ss second
  46.  
  47. ll fastPow(ll n, ll k/*,ll m*/) {
  48. if (k == 0)return 1;
  49.  
  50. ll res = fastPow(n, k / 2/*,m*/)/*%m*/;
  51.  
  52. res = (res * res)/*%m*/;
  53.  
  54. if (k & 1)res = (res * n)/*%m*/;
  55.  
  56. return res/*%m*/;
  57. }
  58.  
  59. ll fastPow(ll n, ll k, ll m) {
  60. if (k == 0)return 1;
  61.  
  62. ll res = fastPow(n, k / 2, m) % m;
  63.  
  64. res = (res * res) % m;
  65.  
  66. if (k & 1)res = (res * n) % m;
  67.  
  68. return res % m;
  69. }
  70.  
  71. ll calcMod(ll a, ll m) {
  72. return (a % m + m) % m;
  73. }
  74.  
  75. ll Ceil(ll n, ll m) {
  76. return (n + m - 1) / m;
  77. }
  78.  
  79. const ll mod = 1e9 + 7;
  80.  
  81. bool solve() {
  82. int n;
  83. cin >> n;
  84. vector<pii > v(n), a(n), b(n);
  85. for (int i = 0; i < n; ++i) {
  86. cin >> v[i].ff;
  87. a[i] = {v[i].ff, i};
  88. }
  89. for (int i = 0; i < n; ++i) {
  90. cin >> v[i].ss;
  91. b[i] = {v[i].ss, i};
  92. }
  93. sort(a.begin(), a.end());
  94. sort(b.begin(), b.end());
  95.  
  96. string ans(n, '0');
  97. int startA;
  98. for (int i = n - 1; i >= 0; --i) {
  99. if (v[a[i].ss].ss >= v[a[n - 1].ss].ss) {
  100. startA = i;
  101. }
  102. }
  103. for (int i = startA; i < n; ++i) {
  104. ans[a[i].ss] = '1';
  105. }
  106.  
  107. int startB;
  108. for (int i = n - 1; i >= 0; --i) {
  109. if (v[b[i].ss].ff >= v[b[n - 1].ss].ff) {
  110. startB = i;
  111. }
  112. }
  113. for (int i = startB; i < n; ++i) {
  114. ans[b[i].ss] = '1';
  115. }
  116.  
  117. cout << ans << "\n";
  118. return 1;
  119. }
  120.  
  121. int main() {
  122. ios_base::sync_with_stdio(false);
  123. cin.tie(nullptr);
  124.  
  125. int t = 1;
  126. cin >> t;
  127. while (t--) {
  128. solve();
  129. }
  130. return 0;
  131. }
  132.  
Success #stdin #stdout 0.01s 5516KB
stdin
Standard input is empty
stdout
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111