#include <cmath>
#include <vector>
#include <queue>
using namespace std;
long long solution(int n, vector<int> works)
{
priority_queue<int> pq(works.begin(), works.end());
for (int i = 0; i < n; i++)
{
if (pq.top() > 0)
{
int tmp = pq.top();
pq.pop();
pq.push(tmp - 1);
}
}
long long ans = 0;
while (!pq.empty())
{
ans += pow(pq.top(), 2);
pq.pop();
}
return ans;
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[3] 섬 연결하기 (0) | 2022.10.01 |
---|---|
[3] 단어 변환 (0) | 2022.09.29 |
2016년 - Level1 (0) | 2022.08.12 |
[3] 네트워크 (0) | 2022.08.11 |
[3] 입국 심사 (0) | 2022.08.11 |