로프

108번뇌·2021년 5월 23일
0

#include <algorithm>
#include <vector>
#include <iostream>
using namespace std;

int  main()
{
	vector<int> vTemp;
	vector<int> vResult;
	int N;
	cin >> N;
	for (int i = 0; i < N; i++)
	{
		int iTemp;
		cin >> iTemp;
		vTemp.emplace_back(iTemp);
	}
	
	sort(vTemp.begin(), vTemp.end(), [](int a, int b) {
		return a < b;//오름차순 정렬
	});

	for (int i = 0; i < N; i++)
	{
		vResult.emplace_back(vTemp[i] * (N - i));
	}

	sort(vResult.begin(), vResult.end(), [](int a, int b) {
		return a > b;//내림차순 정렬
	});

	int iResult = vResult[0];

	cout<< iResult;
	return 0;
}

이문제 뭘 요구하는지 이해를 못했었다.
전기과에서 나오는 병렬로 이해했는데, 그런게 아니라
각 로프에 무게가 똑같이걸리므로,
1.이를 위해서 로프가 버틸 수 있게 정렬(오름차순) 제일 약한걸 기준으로 해야했다.

이후
2. 약한거 X 해당 개수
ex ) 두번째로 약한거 X ( 전체개수 -1) 이런식으로 해서 가장 큰 값을 찾는 내용이었다.

profile
내일 아침 눈을 떳을 때, '기대되는 오늘 하루를 만들기 위해' 나는 오늘도 생각하고 고민한다.

0개의 댓글

관련 채용 정보