Submission #38188430
Source Code Expand
#line 2 "/home/zawatin/compro/library/src/template/binary-search.hpp"
#include <cmath>
namespace zawa {
template <class T, class F>
T binary_search(T ok, T ng, const F& f) {
while (std::abs(ok - ng) > 1) {
T mid = ((ok + ng) >> 1);
if (f(mid)) {
ok = mid;
}
else {
ng = mid;
}
}
return ok;
}
}
#line 2 "/home/zawatin/compro/library/src/dataStructure/accum2d.hpp"
#include <vector>
#include <utility>
namespace zawa {
template <class T>
struct accum2d : std::vector<std::vector<T>> {
accum2d() {
(*this).push_back({ T() });
}
accum2d(const std::vector<std::vector<T>>& A) : std::vector<std::vector<T>>(A.size() + 1, std::vector<T>(A[0].size() + 1, T())) {
for (std::size_t i = 0 ; i < A.size() ; i++) {
for (std::size_t j = 0 ; j < A[i].size() ; j++) {
(*this)[i + 1][j + 1] = (*this)[i][j + 1] + (*this)[i + 1][j] - (*this)[i][j] + A[i][j];
}
}
}
T sum(std::size_t y1, std::size_t x1, std::size_t y2, std::size_t x2) {
return (*this)[y2][x2] - (*this)[y1][x2] - (*this)[y2][x1] + (*this)[y1][x1];
}
T sum(std::pair<std::size_t, std::size_t> p1, std::pair<std::size_t, std::size_t> p2) {
return sum(p1.first, p1.second, p2.first, p2.second);
}
};
} // namespace zawa
#line 3 "ABC203.test.cpp"
#include <iostream>
#line 6 "ABC203.test.cpp"
int main() {
int N, K; std::cin >> N >> K;
std::vector A(N, std::vector(N, 0));
for (auto& a : A) {
for (auto& x : a) {
std::cin >> x;
}
}
auto f = [&](int p) -> bool {
std::vector B(N, std::vector(N, 0));
for (int i = 0 ; i < N ; i++) {
for (int j = 0 ; j < N ; j++) {
B[i][j] = (A[i][j] <= p);
}
}
zawa::accum2d S(B);
bool res = false;
for (int i = 0 ; i + K <= N ; i++) {
for (int j = 0 ; j + K <= N ; j++) {
res |= S.sum(i, j, i + K, j + K) >= (K * K + 1) / 2;
}
}
return res;
};
std::cout << zawa::binary_search((int)1e9, -1, f) << std::endl;
}
Submission Info
Submission Time |
|
Task |
D - Pond |
User |
zawatin |
Language |
C++ (GCC 9.2.1) |
Score |
400 |
Code Size |
1973 Byte |
Status |
AC |
Exec Time |
288 ms |
Memory |
10900 KiB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
400 / 400 |
Status |
|
|
Set Name |
Test Cases |
Sample |
example_00.txt, example_01.txt |
All |
example_00.txt, example_01.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, special_00.txt, special_01.txt, special_02.txt, special_03.txt, special_04.txt, special_05.txt, special_06.txt, special_07.txt |
Case Name |
Status |
Exec Time |
Memory |
example_00.txt |
AC |
3 ms |
3508 KiB |
example_01.txt |
AC |
2 ms |
3464 KiB |
random_00.txt |
AC |
216 ms |
9120 KiB |
random_01.txt |
AC |
221 ms |
9396 KiB |
random_02.txt |
AC |
232 ms |
9728 KiB |
random_03.txt |
AC |
238 ms |
10132 KiB |
random_04.txt |
AC |
218 ms |
9148 KiB |
random_05.txt |
AC |
241 ms |
9940 KiB |
random_06.txt |
AC |
211 ms |
9212 KiB |
random_07.txt |
AC |
272 ms |
10724 KiB |
random_08.txt |
AC |
263 ms |
10848 KiB |
random_09.txt |
AC |
259 ms |
10832 KiB |
random_10.txt |
AC |
275 ms |
10832 KiB |
random_11.txt |
AC |
264 ms |
10836 KiB |
random_12.txt |
AC |
262 ms |
10900 KiB |
random_13.txt |
AC |
267 ms |
10832 KiB |
random_14.txt |
AC |
268 ms |
10728 KiB |
special_00.txt |
AC |
255 ms |
10732 KiB |
special_01.txt |
AC |
275 ms |
10736 KiB |
special_02.txt |
AC |
280 ms |
10796 KiB |
special_03.txt |
AC |
288 ms |
10656 KiB |
special_04.txt |
AC |
3 ms |
3448 KiB |
special_05.txt |
AC |
3 ms |
3580 KiB |
special_06.txt |
AC |
267 ms |
10360 KiB |
special_07.txt |
AC |
129 ms |
9216 KiB |