Submission #733271

#TimeUsernameProblemLanguageResultExecution timeMemory
733271That_SalamanderQuality Of Living (IOI10_quality)C++17
40 / 100
5026 ms3224 KiB
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <cmath>
#include <map>
#include <set>

#define FOR(var,bound) for(int var = 0; var < bound; var++)
#define FORB(var,lb,ub) for (int var = lb; var < ub; var++)
#define FORR(var,bound) for(int var = bound-1; var >= 0; var--)

using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef vector<vector<int>> vvi;
typedef pair<int, int> pii;

int rectangle(int R, int C, int H, int W, int Q[3001][3001]) {
    int res = 10000000;
    for (int i = 0; i + H <= R; i++) {
        for (int j = 0; j + W <= C; j++) {
            vector<int> vals;

            for (int k = 0; k < H; k++) {
                for (int l = 0; l < W; l++) {
                    vals.push_back(Q[i + k][j + l]);
                }
            }

            sort(vals.begin(), vals.end());

            res = min(res, vals[H * W / 2]);
        }
    }

    return res;
}

#ifdef LOCAL_TEST
int grid[3001][3001];

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    
    int r, c, h, w;
    cin >> r >> c >> h >> w;


    FOR(i, r) {
        FOR(j, c) {
            cin >> grid[i][j];
        }
    }

    cout << rectangle(r, c, h, w, grid) << endl;
}
#endif
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...