Submission #44995938


Source Code Expand

#include<bits/stdc++.h>
#define LL long long
#define DB long double
#define MOD 998244353
#define ls(x) x << 1
#define rs(x) x << 1 | 1
#define lowbit(x) x & (-x)
#define PII pair<int, int>
#define MP make_pair
#define VI vector<int>
#define VII vector<int>::iterator
#define all(x) x.begin(), x.end()
#define EB emplace_back
#define SI set<int>
#define SII set<int>::iterator
#define QI queue<int>
using namespace std;
template<typename T> void chkmn(T &a, const T &b) { (a > b) && (a = b); }
template<typename T> void chkmx(T &a, const T &b) { (a < b) && (a = b); }
int inc(const int &a, const int &b) { return a + b >= MOD ? a + b - MOD : a + b; }
int dec(const int &a, const int &b) { return a - b < 0 ? a - b + MOD : a - b; }
int mul(const int &a, const int &b) { return 1LL * a * b % MOD; }
int sqr(const int &a) { return 1LL * a * a % MOD; }
void Inc(int &a, const int &b) { ((a += b) >= MOD) && (a -= MOD); }
void Dec(int &a, const int &b) { ((a -= b) < 0) && (a += MOD); }
void Mul(int &a, const int &b) { a = 1LL * a * b % MOD; }
void Sqr(int &a) { a = 1LL * a * a % MOD; }
int qwqmi(int x, int k = MOD - 2)
{
	int res = 1;
	while(k)
	{
		if(k & 1) Mul(res, x);
		Sqr(x), k >>= 1;
	}
	return res;
}
const int N = 1e6 + 5;
int n, k, C, dp[N];
int main()
{
	scanf("%d %d %d", &n, &k, &C);
	dp[1] = C;
	for(int i = 2; i <= n; ++i)
	{
		Inc(dp[i], dp[i - 1]);
		if(i < k)
		{
			Inc(dp[i], mul(C, C - 1));
			Inc(dp[i], dec(dp[i - 1], C));
		}
		else
		{
			Inc(dp[i], mul(C - 1, dp[i - k + 1]));
			Inc(dp[i], dec(dp[i - 1], dp[i - k + 1]));
		}
	}
	printf("%d\n", dp[n]);
	return 0;
}

Submission Info

Submission Time
Task G - At Most 2 Colors
User Schucking_Sattin
Language C++ (GCC 9.2.1)
Score 600
Code Size 1651 Byte
Status AC
Exec Time 23 ms
Memory 7612 KiB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:42:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   42 |  scanf("%d %d %d", &n, &k, &C);
      |  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 3
AC × 104
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, hand_06.txt, hand_07.txt, hand_08.txt, hand_09.txt, hand_10.txt, hand_11.txt, sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt, test_65.txt, test_66.txt, test_67.txt, test_68.txt, test_69.txt, test_70.txt, test_71.txt, test_72.txt, test_73.txt, test_74.txt, test_75.txt, test_76.txt, test_77.txt, test_78.txt, test_79.txt, test_80.txt, test_81.txt, test_82.txt, test_83.txt, test_84.txt, test_85.txt, test_86.txt, test_87.txt, test_88.txt, test_89.txt, test_90.txt
Case Name Status Exec Time Memory
hand_01.txt AC 7 ms 3640 KiB
hand_02.txt AC 2 ms 3552 KiB
hand_03.txt AC 2 ms 3616 KiB
hand_04.txt AC 2 ms 3640 KiB
hand_05.txt AC 3 ms 3608 KiB
hand_06.txt AC 2 ms 3708 KiB
hand_07.txt AC 2 ms 3704 KiB
hand_08.txt AC 2 ms 3600 KiB
hand_09.txt AC 13 ms 7480 KiB
hand_10.txt AC 14 ms 7452 KiB
hand_11.txt AC 13 ms 7484 KiB
sample_01.txt AC 3 ms 3524 KiB
sample_02.txt AC 2 ms 3544 KiB
sample_03.txt AC 2 ms 3704 KiB
test_01.txt AC 2 ms 3704 KiB
test_02.txt AC 2 ms 3632 KiB
test_03.txt AC 2 ms 3612 KiB
test_04.txt AC 2 ms 3612 KiB
test_05.txt AC 2 ms 3612 KiB
test_06.txt AC 2 ms 3724 KiB
test_07.txt AC 2 ms 3632 KiB
test_08.txt AC 2 ms 3584 KiB
test_09.txt AC 2 ms 3600 KiB
test_10.txt AC 2 ms 3644 KiB
test_11.txt AC 1 ms 3612 KiB
test_12.txt AC 2 ms 3552 KiB
test_13.txt AC 2 ms 3548 KiB
test_14.txt AC 2 ms 3616 KiB
test_15.txt AC 1 ms 3636 KiB
test_16.txt AC 2 ms 3596 KiB
test_17.txt AC 2 ms 3632 KiB
test_18.txt AC 2 ms 3644 KiB
test_19.txt AC 2 ms 3548 KiB
test_20.txt AC 2 ms 3708 KiB
test_21.txt AC 2 ms 3528 KiB
test_22.txt AC 2 ms 3600 KiB
test_23.txt AC 2 ms 3612 KiB
test_24.txt AC 2 ms 3600 KiB
test_25.txt AC 2 ms 3552 KiB
test_26.txt AC 2 ms 3544 KiB
test_27.txt AC 2 ms 3584 KiB
test_28.txt AC 2 ms 3640 KiB
test_29.txt AC 2 ms 3604 KiB
test_30.txt AC 2 ms 3596 KiB
test_31.txt AC 11 ms 7316 KiB
test_32.txt AC 8 ms 6188 KiB
test_33.txt AC 2 ms 3732 KiB
test_34.txt AC 6 ms 5316 KiB
test_35.txt AC 14 ms 6340 KiB
test_36.txt AC 3 ms 4012 KiB
test_37.txt AC 15 ms 7472 KiB
test_38.txt AC 2 ms 3736 KiB
test_39.txt AC 9 ms 5244 KiB
test_40.txt AC 8 ms 4908 KiB
test_41.txt AC 5 ms 5120 KiB
test_42.txt AC 10 ms 5124 KiB
test_43.txt AC 13 ms 6804 KiB
test_44.txt AC 9 ms 6640 KiB
test_45.txt AC 8 ms 4588 KiB
test_46.txt AC 10 ms 5720 KiB
test_47.txt AC 4 ms 4456 KiB
test_48.txt AC 23 ms 7296 KiB
test_49.txt AC 10 ms 5880 KiB
test_50.txt AC 7 ms 5792 KiB
test_51.txt AC 6 ms 4064 KiB
test_52.txt AC 3 ms 4148 KiB
test_53.txt AC 6 ms 4640 KiB
test_54.txt AC 10 ms 5280 KiB
test_55.txt AC 2 ms 3784 KiB
test_56.txt AC 6 ms 4684 KiB
test_57.txt AC 14 ms 5812 KiB
test_58.txt AC 19 ms 7012 KiB
test_59.txt AC 8 ms 5304 KiB
test_60.txt AC 7 ms 4664 KiB
test_61.txt AC 18 ms 7544 KiB
test_62.txt AC 19 ms 7448 KiB
test_63.txt AC 17 ms 7508 KiB
test_64.txt AC 17 ms 7480 KiB
test_65.txt AC 17 ms 7544 KiB
test_66.txt AC 11 ms 7512 KiB
test_67.txt AC 13 ms 7544 KiB
test_68.txt AC 17 ms 7576 KiB
test_69.txt AC 15 ms 7516 KiB
test_70.txt AC 15 ms 7544 KiB
test_71.txt AC 11 ms 7612 KiB
test_72.txt AC 13 ms 7500 KiB
test_73.txt AC 16 ms 7504 KiB
test_74.txt AC 18 ms 7516 KiB
test_75.txt AC 15 ms 7544 KiB
test_76.txt AC 11 ms 7604 KiB
test_77.txt AC 13 ms 7544 KiB
test_78.txt AC 12 ms 7544 KiB
test_79.txt AC 14 ms 7544 KiB
test_80.txt AC 12 ms 7600 KiB
test_81.txt AC 12 ms 7544 KiB
test_82.txt AC 11 ms 7572 KiB
test_83.txt AC 16 ms 7504 KiB
test_84.txt AC 13 ms 7540 KiB
test_85.txt AC 12 ms 7532 KiB
test_86.txt AC 11 ms 7516 KiB
test_87.txt AC 13 ms 7516 KiB
test_88.txt AC 12 ms 7540 KiB
test_89.txt AC 12 ms 7544 KiB
test_90.txt AC 13 ms 7600 KiB