반응형

https://www.acmicpc.net/problem/2437

 

2437번: 저울

하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓

www.acmicpc.net

 

먼저, 각 추를 오름차순으로 정렬합니다. 저울에 순서대로 올려나간다고 생각했습니다.

지금 올린 추의 무게와 누적합을 비교합니다.

누적합이 지금 추의 무게보다 작다면, 지금까지의 누적합이 측정할 수 없는 양의 정수 무게의 최솟값 입니다.

그렇지 않다면, 추를 하나 더 올리며 누적합을 업데이트합니다.

#include <iostream>
#include <cmath>
#include <algorithm>

int n, s = 1;
int arr[1000];
int main() {
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
		scanf("%d", &arr[i]);
	std::sort(arr, arr + n);
	for (int i = 0; i < n; i++) {
		if (s < arr[i]) break;
		s += arr[i];
	}
	printf("%d", s);
}
반응형

'Algorithm' 카테고리의 다른 글

백준 17471 : 게리멘더링  (0) 2021.11.11
백준 15654 : N과 M (5)  (0) 2021.11.11
백준 2302 : 극장 좌석  (0) 2021.11.11
백준 17836 : 공주님을 구해라!  (0) 2021.11.11
백준 16936 : 나3곱2  (0) 2021.11.11

+ Recent posts