2141. 우체국
2141번: 우체국
첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 X[1], A[1], X[2], A[2], …, X[N], A[N]이 주어진다. 범위는 |X[i]| ≤ 1,000,000,000, 1 ≤ A[i] ≤ 1,000,000,000 이며 모든 입력은 정수이다.
www.acmicpc.net
- 다른 사람 풀이
- 사람수만큼 가산을 가진 중간지점 찾기위해서
- '누적 인구수가 절반을 넘어가는 지점' 찾기
n = int(input())
total = 0
X = []
for i in range(1, n+1):
x, a = map(int, input().split())
X.append([x, a])
total += a
X.sort(key=lambda x: x[0])
cnt = 0
for i in range(n):
cnt += X[i][1]
if cnt >= total/2:
print(X[i][0])
break
'코딩테스트 > BOJ' 카테고리의 다른 글
| [백준] [BFS][그룹화] 2573. 빙산 (0) | 2023.07.08 |
|---|---|
| [백준] [BFS] 2344. 거울 (0) | 2023.07.08 |
| [BFS] 2636. 치즈 (0) | 2023.06.28 |
| [백준] [DP] [이진탐색] 1965. 상자 넣기 (0) | 2023.05.13 |
| [백준] [최단경로] [다익스트라] [플로이드워셜] 11265. 끝나지 않는 파티 (0) | 2023.05.13 |