1 条题解

  • 0
    @ 2024-10-30 8:52:27

    注意数据范围

    #include <bits/stdc++.h>
    using namespace std;
    typedef unsigned long long ll;
    const int N = 1e6 + 10, INF = 0x3f3f3f3f, MOD = 1E9 + 7;
    ll n, P = 9223372036854775807;
    vector<ll> f(90);
    
    void solve() {
        cin >> n;
        for (int i = 1; i <= 89; i++)
            if (f[i] >= n) {
                cout << i << endl;
                return;
            }
    }
    int main(int argc, char* argv[]) {
        for (int i = 0; i < 5; i++)
            f[i] = 1;
        for (int i = 5;; i++) {
            f[i] = f[i - 1] + 3 * f[i - 4];
            if (f[i] > P)
                break;
        }
        int T;
        cin >> T;
        while (T--) {
            solve();
        }
        return 0;
    }
    
    • 1

    信息

    ID
    1714
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    (无)
    递交数
    389
    已通过
    94
    上传者