191992025-11-28 18:44:45nlaciFibonacci Sequencescpp17Elfogadva 100/100884ms18228 KiB
#include <iostream>
#include <vector>
#include <map>
using namespace std;

vector<int> fib {2,3};

map<int,int> memo { {1, 1} };
int f(int x) {
    if(memo.find(x) != memo.end()) return memo[x];

    for(int i : fib) {
        if(x % i == 0) {
            memo[x] += f(x/i);
        }
    }

    return memo[x];
}

int main() {
    ios::sync_with_stdio(false); cin.tie(0);

    while(fib.back() <= 1e9) {
        fib.push_back(fib.back() + fib[fib.size()-2]);
    }

    int T; cin >> T;
    while(T--) {
        int M; cin >> M;
        cout << f(M) << endl;
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms508 KiB
2Elfogadva2ms336 KiB
subtask225/25
3Elfogadva1ms316 KiB
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
subtask325/25
7Elfogadva2ms396 KiB
8Elfogadva2ms316 KiB
9Elfogadva2ms316 KiB
10Elfogadva2ms316 KiB
subtask425/25
11Elfogadva367ms8072 KiB
12Elfogadva375ms8312 KiB
subtask525/25
13Elfogadva883ms17980 KiB
14Elfogadva884ms18228 KiB