알고리즘 & SQL/백준(BOJ)
백준 9414번 : 프로그래밍 대회 전용 부지 C++
murra
2018. 12. 25. 20:13
BOJ 9414번 프로그래밍 대회 전용 부지 문제
크리스마스 기념 꿀잼꿀문입니다. 왜 틀렸는지 모르겠는데 3번이나 틀렸습니다. 왜 틀렸을까요 로직이 다 같았는데.. long long 으로 바꾼 뒤 맞은거 같네요.
9414.cpp
#include <bits/stdc++.h>
using namespace std;
long long power(int n, int x) {
int result = 1;
for (int i = 0; i < x; i++) {
result *= n;
}
return result;
}
void solve() {
int n;
long long sum = 0;
int size = 0;
vector<int> v;
while (true) {
cin >> n;
v.push_back(n);
size++;
if (n == 0) {
break;
}
}
sort(v.begin(), v.end());
reverse(v.begin(), v.end());
// 역순으로 정렬해서 비싼 땅을 먼저 산다.
for (int i = 0; i < size; i++) {
sum += 2 * (long long)power(v[i], i + 1);
}
if (sum >= 5000000) {
cout << "Too expensive" << '\n';
} else {
cout << sum << '\n';
}
}
int main() {
int test;
cin >> test;
while (test--) {
solve();
}
}