2217 : 로프

풀이

로프의 무게를 내림차순으로 정렬해서 무게를 달아보자!

i번째 로프에 걸리는 중량은 weight / i이다.

가장 튼튼한 로프에 걸리는 중량을 w[1]이라고 할 때

w[i] (i != 1)은 항상 w[1]보다 작으므로

중량을 하나씩 걸어보면서 max값을 찾으면 된다.

코드

#include <stdio.h>
#include <algorithm>
int main() {
	int n, i, a[100001], k = -1;
	scanf("%d", &n);
	for (i = 0; i < n; ++i) scanf("%d", &a[i]);
	std::sort(a, a + n);
	for (i = 0; i < n; ++i) k = std::max(k, a[i] * (n - i));
	printf("%d", k);
	return 0;
}

아무말

백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이

wookje.kwon's profile image

wookje.kwon

2018-03-14 12:38

Read more posts by this author