Submission #837168

#TimeUsernameProblemLanguageResultExecution timeMemory
837168_martynasThe Kingdom of JOIOI (JOI17_joioi)C++11
15 / 100
4027 ms464 KiB
#include <bits/stdc++.h> using namespace std; const int mxn = 2005; const int inf = 2e9; int h, w; int a[mxn][mxn]; int best = inf; vector<int> heights; void recur() { if(heights.size() == w) { // if(count(heights.begin(), heights.end(), 0) == w) return; // if(count(heights.begin(), heights.end(), h) == w) return; int ioimx = 0, ioimn = inf/2, joimx = 0, joimn = inf/2; for(int i = 0; i < h; i++) { for(int j = 0; j < w; j++) { if(i < heights[j]) { ioimx = max(ioimx, a[i][j]); ioimn = min(ioimn, a[i][j]); } else { joimx = max(joimx, a[i][j]); joimn = min(joimn, a[i][j]); } } } best = min(best, max(ioimx-ioimn, joimx-joimn)); return; } for(int i = (heights.empty() ? 0 : heights.back()); i <= h; i++) { heights.push_back(i); recur(); heights.pop_back(); } } int main(int argc, char const *argv[]) { cin >> h >> w; for(int i = 0; i < h; i++) { for(int j = 0; j < w; j++) { cin >> a[i][j]; } } recur(); for(int i = 0; i < h; i++) reverse(a[i], a[i]+w); recur(); cout << best << "\n"; return 0; }

Compilation message (stderr)

joioi.cpp: In function 'void recur()':
joioi.cpp:14:23: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   14 |     if(heights.size() == w) {
      |        ~~~~~~~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...