Submission #366416

#TimeUsernameProblemLanguageResultExecution timeMemory
366416dolphingarlicThe Kingdom of JOIOI (JOI17_joioi)C++14
100 / 100
3412 ms53228 KiB
#include <bits/stdc++.h> typedef long long ll; using namespace std; int n, m, mx, grid[2000][2000], tmp[2000][2000]; void rotate() { for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) tmp[j][n - i - 1] = grid[i][j]; swap(n, m); for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) grid[i][j] = tmp[i][j]; } bool check(int diff) { for (int _ : {0,0,0,0}) { int lmx = 0, lmn = mx, lst = m; for (int i = 0; i < n; i++) { for (int j = 0; j < lst; j++) if (grid[i][j] < mx - diff) { lst = j; break; } for (int j = lst; j < m; j++) lmx = max(lmx, grid[i][j]), lmn = min(lmn, grid[i][j]); } if (lmx - lmn <= diff) return true; rotate(); } return false; } int main() { cin.tie(0)->sync_with_stdio(0); cin >> n >> m; for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) { cin >> grid[i][j]; mx = max(mx, grid[i][j]); } int l = 0, r = mx; while (l != r) { int mid = (l + r) / 2; if (check(mid)) r = mid; else l = mid + 1; } cout << l; return 0; }

Compilation message (stderr)

joioi.cpp: In function 'bool check(int)':
joioi.cpp:16:14: warning: unused variable '_' [-Wunused-variable]
   16 |     for (int _ : {0,0,0,0}) {
      |              ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...