Submission #1175637

#TimeUsernameProblemLanguageResultExecution timeMemory
1175637superautoQuality Of Living (IOI10_quality)C++20
Compilation error
0 ms0 KiB
#include <iostream> #include <vector> #include <algorithm> #include <set> using namespace std; int R, C, H, W; vector<vector<int>> Q; bool isValid(int val) { vector<vector<int>> B(R, vector<int>(C, 0)); for (int i = 0; i < R; i++) { for (int j = 0; j < C; j++) { B[i][j] = (Q[i][j] <= val) ? 1 : 0; } } vector<vector<int>> prefixSum(R + 1, vector<int>(C + 1, 0)); for (int i = 1; i <= R; i++) { for (int j = 1; j <= C; j++) { prefixSum[i][j] = B[i-1][j-1] + prefixSum[i-1][j] + prefixSum[i][j-1] - prefixSum[i-1][j-1]; } } int required = (H * W) / 2 + 1; for (int i = H; i <= R; i++) { for (int j = W; j <= C; j++) { int count = prefixSum[i][j] - prefixSum[i-H][j] - prefixSum[i][j-W] + prefixSum[i-H][j-W]; if (count >= required) return true; } } return false; } int rectangle(int R, int C, int H, int W, vector<vector<int>>& Q) { ::R = R; ::C = C; ::H = H; ::W = W; ::Q = Q; int left = 1, right = R * C, answer = right; while (left <= right) { int mid = (left + right) / 2; if (isValid(mid)) { answer = mid; right = mid - 1; } else { left = mid + 1; } } return answer; } int main() { cin >> R >> C >> H >> W; vector<vector<int>> Q(R, vector<int>(C)); for (int i = 0; i < R; i++) { for (int j = 0; j < C; j++) { cin >> Q[i][j]; } } cout << rectangle(R, C, H, W, Q) << endl; return 0; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccxDe1VO.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccIr2USA.o:quality.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccxDe1VO.o: in function `main':
grader.cpp:(.text.startup+0xe9): undefined reference to `rectangle(int, int, int, int, int (*) [3001])'
collect2: error: ld returned 1 exit status