티스토리 뷰

백준/실버

[백준 3060] 욕심쟁이 돼지 (C++)

게임개발기원 2025. 8. 13. 21:20

문제 링크 : 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보다 작은 지 체크해주면 된다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함