#include<bits/stdc++.h>
using namespace std;
// #define int long long
const int N=1e6+10;
int t,m,n;
vector<int> a[N];
bool check(int x){
int fl=0;
for(int i=1;i<=n;i++){
fl=0;
for(int j=1;j<=m;j++){
if(a[j-1][i-1]>=x) fl=1;
}
if(fl==0) return 0;
}
for(int i=1;i<=m;i++){
int Cnt=0;
for(int j=1;j<=n;j++){
if(a[i-1][j-1]>=x) Cnt++;
}
if(Cnt>=2) return 1;
}
return 0;
}
int main(){
scanf("%d",&t);
while(t--){
scanf("%d%d",&m,&n);
for(int i=0;i<m;i++) a[i].clear();
for(int i=0;i<m;i++) for(int j=1;j<=n;j++){int x;scanf("%d",&x);a[i].push_back(x);}
int l=0,r=1e9;
while(l<r){
int mid=(l+r+1)>>1;
if(check(mid)) l=mid;
else r=mid-1;
}
cout<<l<<endl;
}
}
Codeforces Round #762 (Div. 3) D. New Year‘s Problem
最新推荐文章于 2022-05-06 12:55:01 发布