Submission #849494

# Submission time Handle Problem Language Result Execution time Memory
849494 2023-09-14T16:52:49 Z qthang2k11 The Kingdom of JOIOI (JOI17_joioi) C++17
0 / 100
0 ms 348 KB
#include <bits/stdc++.h>
using namespace std;

const int N = 2003, MAX = 1e9;

int m, n, a[N][N], mi = MAX, mx = 0, ans = MAX;

bool ok(int f) {
	int lst = n;
	for (int i = 1; i <= m; i++) {
		for (int j = 0; j < lst; j++) {
			if (mi + f < a[i][j]) {
				lst = j;
				break;
			}
		}
		for (int j = n; j > lst; j--) 
			if (mx - f > a[i][j])
				return false;
	}
	return true;
}

void deal() {
	int l = 0, r = ans;
	while (l <= r) {
		int mid = (l + r) / 2;
		if (ok(mid)) {
			ans = mid;
			r = mid - 1;
		} else l = mid + 1;
	}
}

void flip_col() {
	for (int i = m / 2; i > 0; i--)
		for (int j = 1; j <= n; j++)
			swap(a[i][j], a[m - i + 1][j]);
}

void flip_row() {
	for (int i = 1; i <= m; i++)
		for (int j = n / 2; j > 0; j--)
			swap(a[i][j], a[i][n - j + 1]);
}

int32_t main() {
	cin.tie(0)->sync_with_stdio(0);
	cin >> m >> n;
	for (int i = 1; i <= m; i++) {
		for (int j = 1; j <= n; j++) {
			cin >> a[i][j];
			mi = min(mi, a[i][j]);
			mx = max(mx, a[i][j]);
		}
	}
	ans = mx - mi;
	deal();
	flip_col();
	deal();
	flip_row();
	deal();
	flip_col();
	deal();
	cout << ans;
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Incorrect 0 ms 348 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Incorrect 0 ms 348 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Incorrect 0 ms 348 KB Output isn't correct
7 Halted 0 ms 0 KB -