AC

元素周期表第51位  •  11天前


include

include

include

using namespace std; int n, m; vector<vector>a;

bool able(int val) {

int last = 0;
for (int i = 0; i < n; i++) {
	for (int j = 0; j < last; j++)
		if (a[i][j] < val)
			return false;
	for (int j = m - 1; j > last; j--)
		if (a[i][j] < val) {
			last = j;
			break;
		}
}
return true;

}

int main() {

cin >> n >> m;
for (int i = 1; i <= n; i++) {
	vector<int>b;
	for (int j = 1; j <= m; j++) {
		int val;
		cin >> val;
		b.push_back(val);
	}
	a.push_back(b);
}
int left = 1;
int right = n * m, ans = 0;
while (left <= right) {
	int mid = (left + right) / 2;
	if (able(mid)) {
		ans = mid;
		left = mid + 1;
	} else
		right = mid - 1;
}
cout << ans;
return 0;

}


评论:

请先登录,才能进行评论