✏️ Algorithm/알고리즘 풀이

백준 2217번: 로프 - C++

미미누 2022. 2. 26. 03:27

[문제]

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

 

2217번: 로프

N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하

www.acmicpc.net

 

[풀이]

그리디 알고리즘

 

[코드]

#include <bits/stdc++.h>
using namespace std;

int n;
int w[100005];

int main(void) {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin >> n;
    for(int i=0; i<n; i++) cin >> w[i];
    sort(w, w+n);
    int ans=0;
    for(int i=1; i<=n; i++)
        ans = max(ans, w[n-i]*i);
    cout << ans;
}