俺滚动数组咋不对捏
#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
int n;
cin >> n;
if (n == 1)cout << 1;
if (n == 2)cout << 2;
if (n == 3)cout << 4;
int a = 1, b = 2, c = 4, d = 0;
for (int i = 4; i <= n; i++)d = a + b + c, a = b, b = c, c = d;
cout << d;
return 0;
}