From fd7635aae865a150015ce587a0c87d0f3bb88376 Mon Sep 17 00:00:00 2001 From: yjhss <20211420.sungshin.ac.kr> Date: Wed, 31 May 2023 21:58:04 +0900 Subject: [PATCH 1/3] =?UTF-8?q?#31=20:=201654=5F=EB=9E=9C=EC=84=A0=20?= =?UTF-8?q?=EC=9E=90=EB=A5=B4=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0 \354\236\220\353\245\264\352\270\260.py" | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 "\354\235\264\355\213\260\354\234\240\354\247\204/1654_\353\236\234\354\204\240 \354\236\220\353\245\264\352\270\260.py" diff --git "a/\354\235\264\355\213\260\354\234\240\354\247\204/1654_\353\236\234\354\204\240 \354\236\220\353\245\264\352\270\260.py" "b/\354\235\264\355\213\260\354\234\240\354\247\204/1654_\353\236\234\354\204\240 \354\236\220\353\245\264\352\270\260.py" new file mode 100644 index 0000000..088bb77 --- /dev/null +++ "b/\354\235\264\355\213\260\354\234\240\354\247\204/1654_\353\236\234\354\204\240 \354\236\220\353\245\264\352\270\260.py" @@ -0,0 +1,26 @@ +import sys + +K, N = map(int, input().split()) + +lan = [int(sys.stdin.readline()) for _ in range(K)] + +def binary_search(start, end, N): + start = 1 + end = max(lan) + + while start <= end: + mid = (start + end) // 2 + + lines = [(i//mid) for i in lan] + + + if lines == N: + return mid + elif lines < N: + start = mid + 1 + else: + end = mid - 1 + + print(end) + +binary_search(lan, N) \ No newline at end of file From 457066163d84e79b04e87358a86f935bf0cd480c Mon Sep 17 00:00:00 2001 From: yjhss <20211420.sungshin.ac.kr> Date: Wed, 31 May 2023 21:58:26 +0900 Subject: [PATCH 2/3] =?UTF-8?q?#31=20:=201931=5F=ED=9A=8C=EC=9D=98?= =?UTF-8?q?=EC=8B=A4=20=EB=B0=B0=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\354\213\244 \353\260\260\354\240\225.py" | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 "\354\235\264\355\213\260\354\234\240\354\247\204/1931_\355\232\214\354\235\230\354\213\244 \353\260\260\354\240\225.py" diff --git "a/\354\235\264\355\213\260\354\234\240\354\247\204/1931_\355\232\214\354\235\230\354\213\244 \353\260\260\354\240\225.py" "b/\354\235\264\355\213\260\354\234\240\354\247\204/1931_\355\232\214\354\235\230\354\213\244 \353\260\260\354\240\225.py" new file mode 100644 index 0000000..7870a03 --- /dev/null +++ "b/\354\235\264\355\213\260\354\234\240\354\247\204/1931_\355\232\214\354\235\230\354\213\244 \353\260\260\354\240\225.py" @@ -0,0 +1,19 @@ +import sys +N = int(sys.stdin.readline()) + +meetings = [] + +for _ in range(N): + start, end = map(int, input().split(" ")) + meetings.append((start, end)) + +meetings.sort(key=lambda x: (x[1], x[0])) + +time = 0 +cnt = 0 +for i in meetings: + if time <= i[0]: + time = i[1] + cnt += 1 + +print(cnt) \ No newline at end of file From 0249053233b3f872919adad7e71f75e1cc98a97b Mon Sep 17 00:00:00 2001 From: yjhss <20211420.sungshin.ac.kr> Date: Mon, 12 Jun 2023 11:07:22 +0900 Subject: [PATCH 3/3] =?UTF-8?q?#31=20:=201654=5F=EB=9E=9C=EC=84=A0=20?= =?UTF-8?q?=EC=9E=90=EB=A5=B4=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0 \354\236\220\353\245\264\352\270\260.py" | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git "a/\354\235\264\355\213\260\354\234\240\354\247\204/1654_\353\236\234\354\204\240 \354\236\220\353\245\264\352\270\260.py" "b/\354\235\264\355\213\260\354\234\240\354\247\204/1654_\353\236\234\354\204\240 \354\236\220\353\245\264\352\270\260.py" index 088bb77..f05b0c8 100644 --- "a/\354\235\264\355\213\260\354\234\240\354\247\204/1654_\353\236\234\354\204\240 \354\236\220\353\245\264\352\270\260.py" +++ "b/\354\235\264\355\213\260\354\234\240\354\247\204/1654_\353\236\234\354\204\240 \354\236\220\353\245\264\352\270\260.py" @@ -5,22 +5,18 @@ lan = [int(sys.stdin.readline()) for _ in range(K)] def binary_search(start, end, N): - start = 1 - end = max(lan) - - while start <= end: - mid = (start + end) // 2 + result = 0 + while start <= end: + mid = (start + end) // 2 + lines = sum([(i // mid) for i in lan]) - lines = [(i//mid) for i in lan] - - - if lines == N: - return mid - elif lines < N: - start = mid + 1 - else: - end = mid - 1 + if lines >= N: + result = mid + start = mid + 1 + else: + end = mid - 1 - print(end) + return result -binary_search(lan, N) \ No newline at end of file +answer = binary_search(1, max(lan), N) +print(answer) \ No newline at end of file