# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1175652 | napat | Quality Of Living (IOI10_quality) | C++17 | 0 ms | 0 KiB |
#include <iostream>
#include <vector>
#include <algorithm>
#include <climits>
using namespace std;
int main() {
int h, l;
cin >> h >> l;
int hl, ll;
cin >> hl >> ll;
vector<int> v(h * l);
for (int i = 0; i < h * l; i++) {
cin >> v[i];
}
int mi = INT_MAX;
for (int i = 0; i <= h - hl; i++) {
for (int j = 0; j <= l - ll; j++) {
vector<int> target;
for (int k = 0; k < hl; k++) {
for (int p = 0; p < ll; p++) {
int idx = (i + k) * l + (j + p);
target.push_back(v[idx]);
}
}
sort(target.begin(), target.end());
int median = target[(hl * ll) / 2];
mi = min(mi, median);
}
}
cout << mi;
return 0;
}