Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: tha_smith

Problemset: อนุกรม

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-10 09:16:15

#include <iostream>
#include <cstring>
//#include <vector>
using namespace std;

unsigned long long int util(unsigned long long int n, unsigned long long int memo[]) {
    if(n<=1) {
        return n;
    }
    if(memo[n]!=-1) {
        return memo[n];
    }
    memo[n] = util(n-1,memo) + util(n-2,memo);
    return memo[n];
}

unsigned long long int fib(unsigned long long int n) {
    //vector<unsigned long long int> memo(n+1,-1);
    unsigned long long int memo[n+1];
    memset(memo,-1,sizeof(memo));
    return util(n,memo);
}

int main() {
    unsigned long long int num;
    cin >> num;
    unsigned long long int result = fib(num);
    cout << result;
    return 0;
}