https://www.acmicpc.net/problem/7795
7795번: 먹을 것인가 먹힐 것인가
심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을
www.acmicpc.net
'''
7795번: 먹을 것인가 먹힐 것인가 / silver 3 / 이분탐색
'''
import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
n, m = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
a.sort()
b.sort()
all_cnt = 0
for i in range(len(a)):
point = -1
start = 0
end = len(b) - 1
while start <= end:
mid = (start + end) // 2
if b[mid] < a[i]:
point = mid
start = mid + 1
else:
end = mid - 1
all_cnt += point + 1
print(all_cnt)
이분탐색 활용 문제
1. a,b 리스트를 오름차순으로 정렬하기
2. 이분탐색 알고리즘
- a[i] 보다 큰 수이면서, 가장 작은 값을 가지는 b 리스트의 인덱스를 구하기
'백준 문제풀이' 카테고리의 다른 글
2941번: 크로아티아 알파벳 / sliver 5 / 문자열 (0) | 2023.02.17 |
---|---|
1213번: 팰린드롬 만들기 / silver 3 / 문자열 (0) | 2023.02.17 |
2110번: 공유기 설치 / gold 4 / 이분탐색 (0) | 2023.02.14 |
2776번: 암기왕 / silver 4 / set (0) | 2023.02.13 |
1072번: 게임 / silver 3 / 이분탐색 (0) | 2023.02.12 |