212702026-01-12 17:38:49algoproJárdakövezés háromféle elemmelcpp17Time limit exceeded 20/30200ms1844 KiB
// UUID: 7a49d2da-8a8a-4b69-b6c9-969ce61ee1ea
#include <bits/stdc++.h>
using namespace std;
int mod = 2023;

int main() {
	int n; cin >> n;
	vector<array<long long, 2>> dp (n+1);
	dp[0][0] = 1;
	dp[0][1] = 1;
	dp[1][0] = 1;
	dp[1][1] = 2;
	for (int i = 2; i <= n; i++) {
		dp[i][0] = (dp[i-1][1] + dp[i-1][0] + dp[i-2][1]) % mod;
		dp[i][1] = (dp[i][0] + dp[i-1][1] + 2*dp[i-2][1] + 3*dp[i-1][0]) % mod;
		cerr << dp[i][0] << " " << dp[i-1][1] << " 2*" << dp[i-2][1] << " 3*" << dp[i-1][0] << endl;
	}
	cout << dp[n][1];
}

SubtaskSumTestVerdictTimeMemory
base20/30
1Accepted0/01ms500 KiB
2Accepted0/01ms316 KiB
3Accepted2/21ms500 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms512 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted2/296ms844 KiB
10Time limit exceeded0/2108ms820 KiB
11Time limit exceeded0/2200ms1332 KiB
12Time limit exceeded0/3199ms1588 KiB
13Accepted3/328ms316 KiB
14Accepted3/335ms564 KiB
15Time limit exceeded0/3192ms1844 KiB