| 1 Якубов Мубинходжа Азизходжаевич, 21 марта 2026 г. 8:13:38 |
| #include <iostream> using namespace std; using ll = long long; // Проверка: можно ли разместить n модулей толщиной d bool can(ll d, ll n, ll a, ll b, ll w, ll h) { ll aw = a + 2 * d; ll bh = b + 2 * d; // ориентация 1 ll rows1 = w / aw; ll cols1 = h / bh; // ориентация 2 (переворот) ll rows2 = w / bh; ll cols2 = h / aw; return (rows1 * cols1 >= n) || (rows2 * cols2 >= n); } int main() { ll n, a, b, w, h; cin >> n >> a >> b >> w >> h; ll lo = 0, hi = 1e18, mid, ans = 0; while (lo <= hi) { mid = lo + (hi - lo) / 2; if (can(mid, n, a, b, w, h)) { ans = mid; lo = mid + 1; // ищем больше } else { hi = mid - 1; } } cout << ans << '\n'; return 0; }
|
|
|