티스토리 뷰
문제 링크 : https://www.acmicpc.net/problem/3060
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int T;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> T;
while(T--)
{
int N, num, sum = 0, cnt = 0;
cin >> N;
for(int i=0; i<6; i++)
{
cin >> num;
sum += num;
}
int require = 1;
while(1)
{
cnt++;
if(N - (sum * require) < 0) break;
require *=4;
}
cout << cnt << "\n";
}
return 0;
}
규칙에 따른 필요 요구량을 계산해보면, 직전의 4배만큼 필요한 것을 알 수 있다.
따라서 총 요구량을 미리 계산하고, 이를 토대로 4배 계산한 값이 N보다 작은 지 체크해주면 된다.
'백준 > 실버' 카테고리의 다른 글
[백준 14929번] 귀찮아 (SIB) (C++) (0) | 2025.08.17 |
---|---|
[백준 1614번] 영식이의 손가락 (C++) (0) | 2025.08.13 |
[백준 2057번] 팩토리얼 분해 (C++) (0) | 2025.07.10 |
[백준 17269번] 이름궁합 테스트 (C++) (0) | 2025.07.09 |
[백준 5671번] 호텔 방 번호 (C++) (0) | 2025.07.08 |