From 38224857f5ef51698c66133784a6b6409e7dc8d5 Mon Sep 17 00:00:00 2001 From: belowyoon <92996412+belowyoon@users.noreply.github.com> Date: Sat, 4 May 2024 08:56:20 +0900 Subject: [PATCH] =?UTF-8?q?[Gold=20IV]=20Title:=20=EA=B3=B5=EC=9C=A0?= =?UTF-8?q?=EA=B8=B0=20=EC=84=A4=EC=B9=98,=20Time:=2032=20ms,=20Memory:=20?= =?UTF-8?q?2804=20KB=20-BaekjoonHub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 4 +- ...60\342\200\205\354\204\244\354\271\230.cc" | 70 +++++++++---------- 2 files changed, 34 insertions(+), 40 deletions(-) diff --git "a/\353\260\261\354\244\200/Gold/2110.\342\200\205\352\263\265\354\234\240\352\270\260\342\200\205\354\204\244\354\271\230/README.md" "b/\353\260\261\354\244\200/Gold/2110.\342\200\205\352\263\265\354\234\240\352\270\260\342\200\205\354\204\244\354\271\230/README.md" index fa2bdba..0d47c7d 100644 --- "a/\353\260\261\354\244\200/Gold/2110.\342\200\205\352\263\265\354\234\240\352\270\260\342\200\205\354\204\244\354\271\230/README.md" +++ "b/\353\260\261\354\244\200/Gold/2110.\342\200\205\352\263\265\354\234\240\352\270\260\342\200\205\354\204\244\354\271\230/README.md" @@ -4,7 +4,7 @@ ### 성능 요약 -메모리: 3572 KB, 시간: 128 ms +메모리: 2804 KB, 시간: 32 ms ### 분류 @@ -12,7 +12,7 @@ ### 제출 일자 -2024년 5월 4일 08:42:44 +2024년 5월 4일 08:56:12 ### 문제 설명 diff --git "a/\353\260\261\354\244\200/Gold/2110.\342\200\205\352\263\265\354\234\240\352\270\260\342\200\205\354\204\244\354\271\230/\352\263\265\354\234\240\352\270\260\342\200\205\354\204\244\354\271\230.cc" "b/\353\260\261\354\244\200/Gold/2110.\342\200\205\352\263\265\354\234\240\352\270\260\342\200\205\354\204\244\354\271\230/\352\263\265\354\234\240\352\270\260\342\200\205\354\204\244\354\271\230.cc" index 069d3dd..5ceda0e 100644 --- "a/\353\260\261\354\244\200/Gold/2110.\342\200\205\352\263\265\354\234\240\352\270\260\342\200\205\354\204\244\354\271\230/\352\263\265\354\234\240\352\270\260\342\200\205\354\204\244\354\271\230.cc" +++ "b/\353\260\261\354\244\200/Gold/2110.\342\200\205\352\263\265\354\234\240\352\270\260\342\200\205\354\204\244\354\271\230/\352\263\265\354\234\240\352\270\260\342\200\205\354\204\244\354\271\230.cc" @@ -1,47 +1,41 @@ #include -#include #include +#include using namespace std; -int main(void) -{ - int n, c, num, st, router, start, end, mid, ans = 0; - cin >> n >> c; - vector pos; - for (int i = 0; i < n; i++) - { - cin >> num; - pos.push_back(num); - } - sort(pos.begin(), pos.end()); - start = 1; // 최소 거리 - end = pos[n - 1] - pos[0]; // 최대 거리 +int main() { + ios_base::sync_with_stdio(0); + cin.tie(0); - while (start <= end) - { - router = 1; - mid = (start + end) / 2; - st = pos[0]; + int n, m; + cin >> n >> m; + vector house(n, 0); - for (int i = 1; i < n; i++) - { - if (pos[i] - st >= mid) - { - router++; - st = pos[i]; - } - } + for (int i = 0; i < n; i++) { + cin >> house[i]; + } + sort(house.begin(),house.end()); - if (router >= c) - { - ans = max(ans, mid); - start = mid + 1; - } + int s = 1, e = house[n-1] - house[0], ans = 0; + while(s <= e) { + int r = 1; + int mid = (s + e) / 2; + int x = house[0]; + for (int i = 1; i < n; i++) { + if (house[i] - x >= mid) { + r++; + x = house[i]; + } + } + if (r >= m) { + ans = max(ans, mid); + s = mid+1; + } else { + e = mid-1; + } + } + cout << ans; - else - end = mid - 1; - } - cout << ans; - return 0; -} \ No newline at end of file + return 0; +}