D - Minimax Problem 传送门 # include <bits/stdc++.h> using namespace std ; constexpr int N = 300000 , M = 8 ; int n , m , x , y , tot ; int a [ N ] [ M ] , id [ 1 << M ] ; bool solve ( int v ) { std : : fill ( id , id + tot , - 1 ) ; for ( int i = 0 ; i < n ; ++ i ) { int s = 0 ; for ( int j = 0 ; j < m ; ++ j ) if ( a [ i ] [ j ] >= v ) s | = 1 << j ; id [ s ] = i ; } for ( int i = tot - 1 ; i >= 0 ; -- i ) for ( int j = 0 ; j < m ; ++ j ) if ( id [ i | 1 << j ] != - 1 ) id [ i ] = id [ i | 1 << j ] ; for ( int i = 0 ; i < tot ; ++ i ) { if ( id [ i ] != - 1 && id [ ( tot - 1 ) ^ i ] != - 1 ) {