Submission
Status:
PPPPP-----
Score: 50
User: pxsit
Problemset: อนุกรม
Language: cpp
Time: 0.002 second
Submitted On: 2024-12-14 21:11:44
#include <iostream>
#include <vector>
int fib(int n)
{
std::vector<int> dp(n + 1, -1);
auto recurse = [&dp](int n, auto &rec)
{
if (dp[n] != -1)
return dp[n];
if (n == 0)
{
dp[n] = 0;
return 0;
}
if (n == 1)
{
dp[n] = 1;
return 1;
}
dp[n] = rec(n - 2, rec) + rec(n - 1, rec);
return dp[n];
};
recurse(n, recurse);
return dp.back();
}
int main()
{
int n;
std::cin >> n;
std::cout << fib(n) << '\n';
}