BOJ 2217 : 로프 - C++

김정욱·2021년 2월 18일
0

Algorithm - 문제

목록 보기
108/249

로프

코드

#include <string>
#include <vector>
#include <iostream>
#include <cmath>
#include <map>
#include <algorithm>
using namespace std;

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);

    int N;
    cin >> N;
    vector<int> v(N);
    for(int i=0;i<N;i++) cin >> v[i];
    sort(v.begin(), v.end());
    int MAX = v[0];
    for(int i=0;i<N;i++)
    {
        int t = (v.size() - i)*v[i];
        MAX = max(MAX, t);
    }
    cout << MAX;
    return 0;
}
  • 로직
    1) 로프의 길이를 오름차순 정렬
    2) for문을 순회하며 v[i]*뒤에남은 개수의 최대값을 구하며 MAX갱신
    (적어도 내 값으로 내 뒤에 남은 개수만큼은 들 수 있기 때문)
profile
Developer & PhotoGrapher

0개의 댓글