fork download
  1. #include <bits/stdc++.h>
  2.  
  3. /**------------------------------------------
  4. ---------Author: PhcKhnhTapCode -------------
  5. ---------From: CHV with luv <3 --------------
  6. ---------Training To Win Voi 25 !!! ---------
  7. ---------------------------------------------
  8. ------------------MemoryLimitExeeded<ooo>-**/
  9.  
  10. using namespace std;
  11.  
  12. #ifdef phckhnh_local
  13. #include "D:\Users\AdminTCT\Desktop\CP\debug.h"
  14. #else
  15. #define debug(...) 0
  16. #endif
  17.  
  18. #define ll long long
  19. #define db long double
  20. #define fi first
  21. #define se second
  22. #define ii pair<int,int>
  23.  
  24. #define vi vector<int>
  25. #define vii vector<ii>
  26. #define vvi vector<vi>
  27. #define vvvi vector<vvi>
  28. #define pub push_back
  29. #define all(v) v.begin(),v.end()
  30.  
  31. #define mid(l, r) ((l + r) >> 1LL)
  32. #define left(id) (id << 1LL)
  33. #define right(id) ((id << 1LL) | 1LL)
  34.  
  35. #define Mask(i) (1LL << (i))
  36. #define Onbit(n, i) (n | Mask(i))
  37. #define Ofbit(n, i) (n ^ Mask(i))
  38. #define Bit(n, i) ((n >> (i)) & 1LL)
  39. #define Log2(n) (63 - __builtin_clzll(n))
  40. #define Cntbit(n) __builtin_popcountll(n)
  41.  
  42. #define FOR(i, a, b) for (int i = a; i <= b; ++i)
  43. #define FOD(i, b, a) for (int i = b; i >= a; --i)
  44. #define rep(i, n) for (int i = 0; i < n; ++i)
  45. #define repd(i, n) for (int i = n - 1; ~i;--i)
  46. #define repv(v, H) for (auto &v: H)
  47.  
  48. template <class T> bool maximize(T &A, const T &B) {if(A < B) {return A = B, true;} return false;}
  49. template <class T> bool minimize(T &A, const T &B) {if(A > B) {return A = B, true;} return false;}
  50.  
  51. namespace std {
  52. template <int D, typename T> struct Vec : public vector<Vec<D - 1, T>> {
  53. static_assert(D >= 1, "Dimension must be positive");
  54. template <typename... Args>
  55. Vec(int n = 0, Args... args) : vector<Vec<D - 1, T>>(n, Vec<D - 1, T>(args...)) {}
  56. };
  57.  
  58. template <typename T> struct Vec<1, T> : public vector<T> {
  59. Vec(int n = 0, T val = T()) : std::vector<T>(n, val) {}
  60. };
  61. }
  62.  
  63. const int dx[4] = {0, +1, 0, -1};
  64. const int dy[4] = {+1, 0, -1, 0};
  65. const int inf = 1e9, BLOCK = 700, MAXN = 5e5 + 10;
  66. const long long oo = 1e18, BASE = 311, MOD = 1e9 + 7;
  67. //____________________________________________________________________
  68.  
  69. int n, m;
  70. int a[MAXN][8];
  71. int cnt[Mask(8) + 1];
  72. int full_mask;
  73. ii sav;
  74.  
  75.  
  76. bool check(int val) {
  77. rep(mask, Mask(m)) cnt[mask] = 0;
  78. for (int i = 1; i <= n; ++i) {
  79. int value = 0;
  80. rep(j, m) if(a[i][j] >= val)
  81. value = Onbit(value, j);
  82. cnt[value] = i;
  83. }
  84.  
  85. rep(mask1, Mask(m)) {
  86. if(cnt[mask1] == 0) continue;
  87. rep(mask2, Mask(m)) {
  88. if(cnt[mask2] && (mask1 | mask2) == full_mask) {
  89. // sav = {cnt[mask1, cnt[mask2]]};
  90. return true;
  91. }
  92. }
  93. }
  94. return false;
  95. }
  96.  
  97. void phckhnh() {
  98. cin >> n >> m;
  99. full_mask = Mask(m) - 1;
  100. for (int i = 1; i <= n; ++i) {
  101. rep(j, m) cin >> a[i][j];
  102. }
  103.  
  104. int l = 0, r = 1000000001;
  105. while(r - l > 1) {
  106. int mid = (l + r) >> 1;
  107. if(check(mid)) l = mid;
  108. else r = mid;
  109. }
  110. cout << l ;
  111. }
  112. //____________________________________________________________________
  113.  
  114.  
  115.  
  116. main(){
  117. //____________________________________________________
  118. ios_base :: sync_with_stdio(false);
  119. cin.tie(nullptr); cout.tie(nullptr);
  120. #define ooo "a"
  121. if (fopen(ooo".inp", "r")) {
  122. freopen(ooo".inp", "r", stdin);
  123. freopen(ooo".out", "w", stdout);
  124. }
  125. //____________________________________________________
  126. int Ntest = 1;
  127. // cin >> Ntest;
  128. while(Ntest--) {
  129. phckhnh();
  130. cout << endl;
  131. }
  132. cerr <<"\nPhcKhnh's TimeRun: " << (1.0 * clock() / CLOCKS_PER_SEC) << "s. \n";
  133. }
  134.  
Success #stdin #stdout #stderr 0s 5320KB
stdin
Standard input is empty
stdout
0
stderr
PhcKhnh's TimeRun: 0.004727s.