반응형
    
    
    
  -문제

-코드
#include<stdio.h>
#include<queue>
using namespace std;
int main() {
	int n, sum =0,k, tmp1, tmp2, tmp;
	scanf("%d", &n);
	priority_queue<int, vector<int>, greater<int> > pq; //오름차순
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &k);
		pq.push(k);
	}
	while (!pq.empty() && n > 1)
	{
		tmp1 = pq.top();
		pq.pop();
		tmp2 = pq.top();
		pq.pop();
		tmp = tmp1 + tmp2;
		sum += tmp;
		if(!pq.empty()) pq.push(tmp);
	}
	printf("%d", sum);
	return 0;
}반응형
    
    
    
  '이론 > 코딩테스트' 카테고리의 다른 글
| [백준] 1744번 수 묶기 [그리디 알고리즘] (0) | 2022.08.18 | 
|---|---|
| [백준] 1049번 기타줄 (그리디 알고리즘) (0) | 2022.08.15 | 
| [백준] 1520번 내리막 길 (DFS + DP) (0) | 2022.08.08 | 
| [백준] 1987번 알파벳 (DFS) (0) | 2022.08.08 | 
| [백준] 2583번 영역 구하기 (BFS) (0) | 2022.08.08 | 
 
                    
                   
                    
                   
                    
                  