| 19199 | 2025-11-28 18:44:45 | nlaci | Fibonacci Sequences | cpp17 | Accepted 100/100 | 884ms | 18228 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;
}| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 508 KiB | ||||
| 2 | Accepted | 2ms | 336 KiB | ||||
| subtask2 | 25/25 | ||||||
| 3 | Accepted | 1ms | 316 KiB | ||||
| 4 | Accepted | 1ms | 316 KiB | ||||
| 5 | Accepted | 1ms | 316 KiB | ||||
| 6 | Accepted | 1ms | 316 KiB | ||||
| subtask3 | 25/25 | ||||||
| 7 | Accepted | 2ms | 396 KiB | ||||
| 8 | Accepted | 2ms | 316 KiB | ||||
| 9 | Accepted | 2ms | 316 KiB | ||||
| 10 | Accepted | 2ms | 316 KiB | ||||
| subtask4 | 25/25 | ||||||
| 11 | Accepted | 367ms | 8072 KiB | ||||
| 12 | Accepted | 375ms | 8312 KiB | ||||
| subtask5 | 25/25 | ||||||
| 13 | Accepted | 883ms | 17980 KiB | ||||
| 14 | Accepted | 884ms | 18228 KiB | ||||