#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; using Pll = pair; using Pii = pair; constexpr ll MOD = 1000000007; constexpr long double EPS = 1e-10; constexpr int dyx[4][2] = { { 0, 1}, {-1, 0}, {0,-1}, {1, 0} }; vector> a(1000, vector(1000, '.')); bool is_ok(int n_lines, ll n, ll k) { k = min(int(k), n_lines); a.assign(n_lines, vector(1000, '.')); vector line_count(n_lines, 0), row_count(n_lines, 0); int j = 0, cnt = 0; for(int i=0;i> n >> k; ll ng = 0, ok = 1000; while(ok-ng > 1) { ll mid = (ng+ok) / 2; if(is_ok(mid, n, k)) { ok = mid; } else { ng = mid; } } cout << ok << endl; is_ok(ok, n, k); for(int i=0;i