[IT]/백준

[백준] 2217번 로프

working_hard 2019. 6. 1. 15:03
728x90
#include<iostream>
#include<algorithm>

using namespace std;

int a[100001];
int n;

int main() {

	cin >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> a[i];
	}
	sort(a, a + n);

	int max = 0;
	for (int i = 0; i < n; i++)
	{
		if (max < a[i] * (n - i)) max = a[i] * (n - i);
	}
	cout << max;

	return 0;
}

포인트 : (최소값* 갯수)가 많은 로프를 사용해서 들 수 있는 최대 용량이므로 정렬 후 최소부터 하나하나씩 빼면서 최대값을 구해본다.