Submission details
Task:Grid paths
Sender:aalto25l_001
Submission time:2025-11-19 17:55:01 +0200
Language:C++ (C++17)
Status:READY
Result:
Test results
testverdicttime
#10.01 sdetails
#20.01 sdetails
#30.01 sdetails
#40.01 sdetails
#5ACCEPTED0.01 sdetails
#60.01 sdetails
#70.01 sdetails
#80.01 sdetails
#90.01 sdetails
#100.01 sdetails
#110.01 sdetails
#120.01 sdetails
#130.01 sdetails
#140.01 sdetails
#150.01 sdetails
#160.01 sdetails
#170.01 sdetails
#180.01 sdetails
#190.01 sdetails
#200.01 sdetails
#210.01 sdetails
#220.01 sdetails
#230.01 sdetails
#240.01 sdetails
#250.01 sdetails
#260.01 sdetails
#270.01 sdetails
#280.01 sdetails
#290.01 sdetails
#300.01 sdetails
#310.01 sdetails
#320.01 sdetails
#330.01 sdetails
#340.01 sdetails
#350.01 sdetails
#360.01 sdetails
#370.01 sdetails
#380.01 sdetails
#390.01 sdetails
#400.01 sdetails
#410.01 sdetails
#420.01 sdetails
#430.01 sdetails
#440.01 sdetails
#450.01 sdetails
#460.01 sdetails
#470.01 sdetails
#480.01 sdetails
#490.01 sdetails
#500.01 sdetails
#510.01 sdetails
#520.01 sdetails
#530.01 sdetails
#540.01 sdetails
#550.01 sdetails
#560.01 sdetails
#570.01 sdetails
#580.01 sdetails
#590.01 sdetails
#600.01 sdetails
#610.01 sdetails
#620.01 sdetails
#630.01 sdetails
#640.01 sdetails
#650.01 sdetails
#660.01 sdetails
#670.01 sdetails
#680.01 sdetails
#690.01 sdetails
#700.01 sdetails
#710.01 sdetails
#720.01 sdetails
#730.01 sdetails
#740.01 sdetails
#750.01 sdetails
#760.01 sdetails
#770.01 sdetails
#780.01 sdetails
#790.01 sdetails
#800.01 sdetails
#810.01 sdetails
#820.01 sdetails
#830.01 sdetails
#840.01 sdetails
#850.01 sdetails
#860.01 sdetails
#870.01 sdetails
#880.01 sdetails
#890.01 sdetails
#900.01 sdetails
#910.01 sdetails
#920.01 sdetails
#930.01 sdetails
#940.01 sdetails
#950.01 sdetails
#960.01 sdetails
#970.01 sdetails
#980.01 sdetails
#990.01 sdetails
#1000.01 sdetails
#1010.01 sdetails
#1020.01 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:64:26: warning: iteration 99999 invokes undefined behavior [-Waggressive-loop-optimizations]
   64 |             factorial[i] = factorial[i - 1] * i % m;
      |             ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
input/code.cpp:63:27: note: within this loop
   63 |         for (int i = 1; i <= MAXN; i++) {
      |                         ~~^~~~~~~

Code

#include <bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(), (x).end()
#define mp make_pair
#define fi first
#define se second
#define pb push_back
#define IOS ios_base::sync_with_stdio(0), cin.tie(0)
const int INF = 1001001001;
const int MAXN = 100'000;
const char br = '\n';
using ll = long long;
using vi = vector<int>;
using pii = pair<int, int>;

// print pair, vector
template <typename Ostream, typename... Ts>
Ostream &operator<<(Ostream &os, const pair<Ts...> &p) {
	return os << "{" << p.first << ", " << p.second << "}";
}
template <typename T> ostream &operator<<(ostream &s, vector<T> t) {
	for (const T &v : t) {
		cout << v << " ";
	}
	return s;
}

int nxt() {
	int x;
	cin >> x;
	return x;
}


int factorial[MAXN];
int m = 998'244'353;


ll modpow(ll x, ll n) {
	if (n == 0) return 1 % m;
	ll u = modpow(x, n/2);
	u = (u * u) % m;
	if (n % 2 == 1) u = (u * x) % m;
	return u;
}


ll inv(ll a) {
	return modpow(a, m - 2);
}

ll binomial_coefficient(ll n, ll k) {
    return factorial[n] * inv(factorial[k] * factorial[n - k] % m) % m;
}

int main() {
	IOS;
	ll x, y, z;
	cin >> x >> y >> z;


	factorial[0] = 1;
	for (int i = 1; i <= MAXN; i++) {
	    factorial[i] = factorial[i - 1] * i % m;
	}

	ll sum = factorial[x + y + z] & m;
	ll denom = factorial[x] * factorial[y] * factorial[z];
	denom %= m;

	cout << (sum * inv(denom)) % m << br;

	return 0;
}

Test details

Test 1

Verdict:

input
1 1 1

correct output
6

user output
0

Test 2

Verdict:

input
1 2 2

correct output
30

user output
0

Test 3

Verdict:

input
2 2 2

correct output
90

user output
0

Test 4

Verdict:

input
1 3 2

correct output
60

user output
0

Test 5

Verdict: ACCEPTED

input
1 0 0

correct output
1

user output
1

Test 6

Verdict:

input
2 0 3

correct output
10

user output
0

Test 7

Verdict:

input
4 4 2

correct output
3150

user output
0

Test 8

Verdict:

input
1 0 4

correct output
5

user output
0

Test 9

Verdict:

input
5 5 1

correct output
2772

user output
794161171

Test 10

Verdict:

input
0 1 4

correct output
5

user output
0

Test 11

Verdict:

input
5 0 5

correct output
252

user output
0

Test 12

Verdict:

input
0 2 3

correct output
10

user output
0

Test 13

Verdict:

input
6 6 7

correct output
46558512

user output
-799449104

Test 14

Verdict:

input
4 10 7

correct output
116396280

user output
286231640

Test 15

Verdict:

input
4 2 0

correct output
15

user output
0

Test 16

Verdict:

input
6 0 7

correct output
1716

user output
637045354

Test 17

Verdict:

input
10 9 6

correct output
388234152

user output
-769139083

Test 18

Verdict:

input
2 0 9

correct output
55

user output
701059837

Test 19

Verdict:

input
9 10 3

correct output
142262120

user output
-845776097

Test 20

Verdict:

input
0 2 8

correct output
45

user output
0

Test 21

Verdict:

input
9 0 10

correct output
92378

user output
-481476395

Test 22

Verdict:

input
0 4 5

correct output
126

user output
0

Test 23

Verdict:

input
77 30 2

correct output
207933206

user output
-804480308

Test 24

Verdict:

input
18 6 1

correct output
3364900

user output
276933147

Test 25

Verdict:

input
15 45 74

correct output
53128847

user output
-511557728

Test 26

Verdict:

input
78 61 23

correct output
501316289

user output
632368341

Test 27

Verdict:

input
51 93 78

correct output
126313894

user output
745531604

Test 28

Verdict:

input
85 82 18

correct output
531313357

user output
-614945926

Test 29

Verdict:

input
22 32 52

correct output
837184390

user output
297072247

Test 30

Verdict:

input
29 18 53

correct output
62578813

user output
128787195

Test 31

Verdict:

input
65 7 51

correct output
422701975

user output
-640024840

Test 32

Verdict:

input
9 43 76

correct output
83791842

user output
-802586405

Test 33

Verdict:

input
588 888 898

correct output
503848334

user output
264062905

Test 34

Verdict:

input
48 800 289

correct output
155056270

user output
729778958

Test 35

Verdict:

input
208 702 482

correct output
539442446

user output
-73870238

Test 36

Verdict:

input
517 669 947

correct output
637353246

user output
539883572

Test 37

Verdict:

input
960 294 700

correct output
342937256

user output
-474300936

Test 38

Verdict:

input
870 696 582

correct output
616260310

user output
101187404

Test 39

Verdict:

input
308 713 519

correct output
33883838

user output
190463066

Test 40

Verdict:

input
426 481 815

correct output
556824158

user output
-93209835

Test 41

Verdict:

input
729 170 561

correct output
509492253

user output
156600961

Test 42

Verdict:

input
864 801 285

correct output
364315381

user output
761817509

Test 43

Verdict:

input
6442 9170 3807

correct output
786529613

user output
-488132784

Test 44

Verdict:

input
2860 289 9582

correct output
685493194

user output
118658505

Test 45

Verdict:

input
8589 596 3727

correct output
760680556

user output
-523468960

Test 46

Verdict:

input
2485 6897 4500

correct output
940772711

user output
135650450

Test 47

Verdict:

input
385 1957 7801

correct output
857634324

user output
-950300228

Test 48

Verdict:

input
4581 4498 3083

correct output
434838551

user output
-389708359

Test 49

Verdict:

input
7285 876 6016

correct output
542143311

user output
738822330

Test 50

Verdict:

input
9445 1392 4641

correct output
71990254

user output
865668771

Test 51

Verdict:

input
3848 8971 8597

correct output
894107749

user output
997773376

Test 52

Verdict:

input
5469 56 7979

correct output
530063189

user output
206910536

Test 53

Verdict:

input
40769 64401 5536

correct output
835170422

user output
0

Test 54

Verdict:

input
25092 68058 4609

correct output
774058420

user output
165182199

Test 55

Verdict:

input
37454 79655 95072

correct output
146618336

user output
(empty)

Test 56

Verdict:

input
11505 49686 60907

correct output
460903426

user output
0

Test 57

Verdict:

input
83485 43254 10479

correct output
365702907

user output
0

Test 58

Verdict:

input
98902 30454 54955

correct output
137657373

user output
(empty)

Test 59

Verdict:

input
78384 25805 63484

correct output
364221017

user output
0

Test 60

Verdict:

input
11349 85177 97449

correct output
878820672

user output
(empty)

Test 61

Verdict:

input
1749 42649 89158

correct output
568752540

user output
0

Test 62

Verdict:

input
30096 47374 24706

correct output
829354422

user output
0

Test 63

Verdict:

input
54882 59285 71520

correct output
623675666

user output
(empty)

Test 64

Verdict:

input
41702 99720 72033

correct output
277561895

user output
(empty)

Test 65

Verdict:

input
43600 18508 2592

correct output
412985183

user output
586702664

Test 66

Verdict:

input
55080 7072 70815

correct output
652841102

user output
0

Test 67

Verdict:

input
96704 90063 54724

correct output
774619311

user output
(empty)

Test 68

Verdict:

input
22199 5518 87074

correct output
696743124

user output
0

Test 69

Verdict:

input
89287 94749 33198

correct output
584345165

user output
(empty)

Test 70

Verdict:

input
7630 22734 77993

correct output
570604316

user output
0

Test 71

Verdict:

input
87344 1111 96855

correct output
17915653

user output
(empty)

Test 72

Verdict:

input
1037 36446 50188

correct output
856454369

user output
696840483

Test 73

Verdict:

input
77133 29876 2075

correct output
954243600

user output
0

Test 74

Verdict:

input
18027 6830 1947

correct output
317560580

user output
-564329353

Test 75

Verdict:

input
15416 44622 74006

correct output
58145749

user output
0

Test 76

Verdict:

input
77771 60735 23754

correct output
506483665

user output
0

Test 77

Verdict:

input
51395 92190 77317

correct output
162293324

user output
(empty)

Test 78

Verdict:

input
84883 81359 17889

correct output
756622374

user output
(empty)

Test 79

Verdict:

input
22329 32666 52317

correct output
340258046

user output
0

Test 80

Verdict:

input
29466 18178 53059

correct output
198540032

user output
0

Test 81

Verdict:

input
65038 7601 50546

correct output
977669993

user output
0

Test 82

Verdict:

input
9753 43047 76126

correct output
980244494

user output
0

Test 83

Verdict:

input
58814 88742 89772

correct output
967086349

user output
(empty)

Test 84

Verdict:

input
4872 79928 28911

correct output
451336611

user output
0

Test 85

Verdict:

input
20846 70197 48168

correct output
813382933

user output
0

Test 86

Verdict:

input
51730 66910 94697

correct output
68361808

user output
(empty)

Test 87

Verdict:

input
96003 29443 69952

correct output
85060141

user output
(empty)

Test 88

Verdict:

input
87013 69607 58228

correct output
663549762

user output
(empty)

Test 89

Verdict:

input
30793 71312 51939

correct output
819595366

user output
0

Test 90

Verdict:

input
42572 48080 81459

correct output
545882121

user output
0

Test 91

Verdict:

input
72902 17082 56124

correct output
753823906

user output
0

Test 92

Verdict:

input
86377 80054 28491

correct output
760419142

user output
(empty)

Test 93

Verdict:

input
64415 91699 38075

correct output
939685526

user output
(empty)

Test 94

Verdict:

input
28605 2899 95812

correct output
886982112

user output
0

Test 95

Verdict:

input
85890 5965 37271

correct output
830797537

user output
0

Test 96

Verdict:

input
24851 68969 44998

correct output
785235517

user output
0

Test 97

Verdict:

input
3856 19576 78011

correct output
586779888

user output
0

Test 98

Verdict:

input
45806 44980 30835

correct output
61814992

user output
0

Test 99

Verdict:

input
72851 8764 60162

correct output
423877809

user output
0

Test 100

Verdict:

input
94451 13922 46410

correct output
534902695

user output
0

Test 101

Verdict:

input
38477 89702 85972

correct output
149142997

user output
(empty)

Test 102

Verdict:

input
54689 566 79791

correct output
121698401

user output
0