풀이
로프의 무게를 내림차순으로 정렬해서 무게를 달아보자!
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, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이