181572025-10-06 20:26:29zsombJárda-L (40)cpp17Accepted 40/401ms508 KiB
#include <bits/stdc++.h>
using namespace std;
int n;
vector<long long> DP;

long long d(int k){
    if(k == n)
        return DP[k];
    if(k+2 < n+1)
        DP[k+2] += DP[k];
    if(k+1 < n+1)
        DP[k+1] += DP[k];

    for(int i = k+3; i< n+1; i++){
        DP[i] += DP[k]*2;
    }

    return d(k+1);
}

int main(){
    cin >> n;
    DP.resize(n+1,0);
    DP[0] = 1;
    cout << d(0);
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted2/21ms340 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted3/31ms316 KiB
9Accepted3/31ms508 KiB
10Accepted3/31ms316 KiB
11Accepted3/31ms316 KiB
12Accepted3/31ms508 KiB
13Accepted3/31ms372 KiB
14Accepted3/31ms316 KiB
15Accepted3/31ms316 KiB
16Accepted3/31ms316 KiB
17Accepted3/31ms316 KiB