[백준/BOJ] 1715. 카드 정렬하기 [Gold 4]
- 카드 정렬하기
문제출처 : https://www.acmicpc.net/problem/1715
code
#include <iostream>
#include <queue>
using namespace std;
int main()
{
long long N, x, temp=0, result = 0;
priority_queue<int> pq;
cin >> N;
for (int i = 0; i < N; i++)
{
cin >> x;
pq.push(-x);
}
while (pq.size() != 1)
{
temp = 0;
temp += pq.top();
pq.pop();
temp += pq.top();
pq.pop();
pq.push(temp);
result += temp;
}
cout << -result;
return 0;
}
처음에 짯을때코드다
#include <iostream>
#include <queue>
using namespace std;
int main()
{
int N, x, temp=0, result = 0;
priority_queue<int> pq;
cin >> N;
for (int i = 0; i < N; i++)
{
cin >> x;
pq.push(-x);
}
temp = pq.top();
pq.pop();
for (int i = 1; i < N; i++)
{
temp += pq.top();
pq.pop();
result += temp;
}
cout << -result;
return 0;
}
예제문제 바로통과하길래 너무 쉬운거 아닌가 했는데 아니나다를까 틀렸습니다가 떳다.
어디가 문젠지 한참을 고민하다가 질문게시판에서 반례를 봤는데,
4
3
3
3
3
답이 24이어야 한다고 했다.
근데 아무리 생각해봐도 27이 나오는데 어떻게 24가 나오지 고민하다가
3+3 = 6
6+3 = 9
9+3 = 12
해서 27이 아니라,
3+3 = 6
3+3 = 6
6+6 = 12
해서 24가 나오는 로직이였다.
뭔가 뒷통수맞은기분..? 그래도 풀었으면 됐지..
이번학기 21학점에 근로를 신청했더니 백준을 풀 시간이 없다.
뭐만하면 과제해야하고, 뭐만하면 실습연습해야하고, 그리고 데이터베이스랑 운영체제같은 이론실습과목이 약간 빡센것같아서 열심히 복습연습하고있다ㅠㅠ 못따라가면 안되니까
사실 시간없어서 못푼다는거는 핑계임을 익히 알고는 있지만, 어쩔수 없다 ㅠㅠ
이번 년도동안 열심히 해서 플레티넘 찍어야하는데... 한분기당 1티어씩 올리면 가능할것 같긴한데, 골드부터는 좀 빡세네;;;
Author And Source
이 문제에 관하여([백준/BOJ] 1715. 카드 정렬하기 [Gold 4]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jychan99/백준BOJ-1715.-카드-정렬하기-Gold-4저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)