제출 #1034532

#제출 시각아이디문제언어결과실행 시간메모리
1034532belgianbotQuality Of Living (IOI10_quality)C++14
0 / 100
5054 ms348 KiB
#include "quality.h" #include <bits/stdc++.h> using namespace std; int rectangle(int R, int C, int H, int W, int Q[3001][3001]) { int l = H * W / 2 + 1, r = R * C - 1 - (H * W / 2); int ans; while (l <= r) { int mid = l + (r - l) / 2; bool possible = false; vector<vector<int>> nbSmaller (R, vector<int>(C - W + 1)); vector<vector<int>> nbBigger (R, vector<int>(C - W + 1)); for (int i = 0; i < R; i++) { int cnt = 0, cnt2 = 0; for (int j = 0; j < W; j++) {cnt += (Q[i][j] < mid); cnt2 += (Q[i][j] > mid);} nbSmaller[i][0] = cnt; nbBigger[i][0] = cnt2; for (int j = 0; j < C - W; j++) { cnt -= (Q[i][j] < mid); cnt += (Q[i][j + W] < mid); cnt2 -= (Q[i][j] > mid); cnt2 += (Q[i][j + W] > mid); nbSmaller[i][j + 1] = cnt; nbBigger[i][j + 1] = cnt2; } } /*cout << mid << '\n'; for (auto x : nbSmaller) { for (auto y : x) cout << y << ' '; cout << '\n'; } cout << "\n\n";*/ for (int i = 0; i < C - W + 1; i++) { int cnt = 0, cnt2 = 0; for (int j = 0; j < H; j++) {cnt += nbSmaller[j][i]; cnt2 += nbBigger[j][i];} if (cnt == (W * H) / 2 && cnt + cnt2 < W * H) { possible = true; break; } for (int j = 0; j < R - H; j++) { cnt -= nbSmaller[j][i]; cnt += nbSmaller[j + H][i]; cnt2 -= nbBigger[j][i]; cnt2 += nbBigger[j + H][i]; if (cnt == (W * H) / 2 && cnt2 + cnt < W * H) { possible = true; break; } } if (possible) break; } if (possible) { ans == mid; r = mid - 1; } else { l = mid + 1; } } }

컴파일 시 표준 에러 (stderr) 메시지

quality.cpp: In function 'int rectangle(int, int, int, int, int (*)[3001])':
quality.cpp:54:8: warning: statement has no effect [-Wunused-value]
   54 |    ans == mid;
      |    ~~~~^~~~~~
quality.cpp:61:1: warning: no return statement in function returning non-void [-Wreturn-type]
   61 | }
      | ^
#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...