[백준/BOJ] 백준 2217번 : 로프
2020. 6. 9. 04:22ㆍ알고리즘 문제풀이
https://www.acmicpc.net/problem/2217
입력받은 밧줄을 오름차순으로 정렬한뒤, (한 밧줄이 버틸 수 있는 중량 * 이 중량 이상을 버티는 로프의 개수)중 가장 큰 값이 버틸 수 있는 최대 중량이라는것을 이용하여 문제를 해결했다.
코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
cin.tie(NULL);
ios_base::sync_with_stdio(false);
int n;
vector<int> rope;
int temp;
int result = 0;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> temp;
rope.push_back(temp);
}
//오름차순으로 정렬한다
sort(rope.begin(), rope.end());
//(한 밧줄이 버틸수 있는 중량 * 이 중량 이상을 버티는 로프의 개수)중 가장 큰 값이
//버틸수 있는 최대 중량이다
for (int i = 0; i < n; i++)
{
result = max(result, rope[i] * (n - i));
}
cout << result;
}
'알고리즘 문제풀이' 카테고리의 다른 글
[백준/BOJ] 백준 1120번 : 문자열 (0) | 2020.06.11 |
---|---|
[백준/BOJ] 백준 2875번 : 대회 or 인턴 (0) | 2020.06.10 |
[백준/BOJ] 백준 5585번 : 거스름돈 (0) | 2020.06.09 |
[백준/BOJ] 백준 1931번 : 회의실배정 (0) | 2020.06.08 |
[백준/BOJ] 백준 11047번 : 동전 0 (0) | 2020.06.07 |