-
[13975] 파일 합치기 3BOJ 2021. 11. 9. 14:17
https://www.acmicpc.net/problem/13975
13975번: 파일 합치기 3
프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T개의 테스트 데이터로 이루어져 있는데, T는 입력의 맨 첫 줄에 주어진다.각 테스트 데이터는 두 개의 행으로 주어지는데,
www.acmicpc.net
<문제>
큰거 두개 뽑아서 합쳐주면 된다. 우선순위큐를 쓰면 구현이 간단하다.
<소스코드>
1234567891011121314151617181920212223242526#include <bits/stdc++.h>using namespace std;int t, n;long long x;int main(void) {cin >> t;while (t--) {cin >> n;priority_queue<long long, vector<long long>, greater<long long>> q;for (int i = 0; i < n; i++) {cin >> x;q.push(x);}long long cost = 0;while (q.size() >= 2) {long long a = q.top();q.pop();long long b = q.top();q.pop();cost += a + b;q.push(a + b);}cout << cost << '\n';}return 0;}cs 'BOJ' 카테고리의 다른 글
[1182] 부분수열의 합 (0) 2021.11.10 [17503] 맥주 축제 (0) 2021.11.10 [14395] 4연산 (0) 2021.11.09 [16973] 직사각형 탈출 (0) 2021.11.09 [14940] 쉬운 최단거리 (0) 2021.11.09