[백준/C++] 12845번 모두의마블

최대 1 분 소요

1.문제 링크

모두의마블



2. 풀이 전 계획과 생각

  • 그리디



3. 풀이

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

int main(){
	int n; 
	cin>>n;
	
	// 입력 
	vector<int> cards(n);
	for(int i=0;i<n;i++) cin>>cards[i];
	
	// 내림차순 정렬  
	sort(cards.begin(), cards.end(), greater<int>());
	
	int gold=0;
	for(int i=1;i<n;i++){
		gold += cards[0]+cards[i]; // 가장 레벨이 큰 카드는 계속 유지되게 됨. 
	}
	
	// 답 출력  
	cout<<gold;
}

업그레이드 된 카드 A의 레벨은 변하지 않는다. 라는 조건이 있으므로 내림차순으로 정렬 후 0번째 인덱스의 카드는 계속 남아있게 되있다.



4. 풀이하면서 고민했던 점



5. 문제를 풀고 알게된 개념 및 소감