| Task: | Skittles |
| Sender: | Dereden |
| Submission time: | 2025-11-17 17:29:22 +0200 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | RUNTIME ERROR |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.00 s | details |
| #3 | ACCEPTED | 0.00 s | details |
| #4 | RUNTIME ERROR | 0.00 s | details |
| #5 | ACCEPTED | 0.00 s | details |
| #6 | RUNTIME ERROR | 0.00 s | details |
| #7 | RUNTIME ERROR | 0.00 s | details |
| #8 | RUNTIME ERROR | 0.00 s | details |
| #9 | RUNTIME ERROR | 0.00 s | details |
| #10 | RUNTIME ERROR | 0.00 s | details |
| #11 | RUNTIME ERROR | 0.00 s | details |
| #12 | ACCEPTED | 0.01 s | details |
| #13 | ACCEPTED | 0.01 s | details |
| #14 | ACCEPTED | 0.01 s | details |
| #15 | ACCEPTED | 0.01 s | details |
| #16 | ACCEPTED | 0.01 s | details |
| #17 | ACCEPTED | 0.01 s | details |
| #18 | ACCEPTED | 0.01 s | details |
| #19 | ACCEPTED | 0.01 s | details |
| #20 | ACCEPTED | 0.01 s | details |
| #21 | ACCEPTED | 0.01 s | details |
| #22 | ACCEPTED | 0.02 s | details |
| #23 | ACCEPTED | 0.01 s | details |
| #24 | ACCEPTED | 0.01 s | details |
| #25 | ACCEPTED | 0.01 s | details |
| #26 | ACCEPTED | 0.01 s | details |
| #27 | ACCEPTED | 0.01 s | details |
| #28 | ACCEPTED | 0.01 s | details |
| #29 | ACCEPTED | 0.01 s | details |
| #30 | ACCEPTED | 0.01 s | details |
| #31 | ACCEPTED | 0.01 s | details |
| #32 | ACCEPTED | 0.01 s | details |
| #33 | ACCEPTED | 0.01 s | details |
| #34 | ACCEPTED | 0.01 s | details |
| #35 | ACCEPTED | 0.01 s | details |
| #36 | ACCEPTED | 0.01 s | details |
| #37 | ACCEPTED | 0.01 s | details |
| #38 | ACCEPTED | 0.01 s | details |
| #39 | ACCEPTED | 0.01 s | details |
| #40 | ACCEPTED | 0.01 s | details |
| #41 | ACCEPTED | 0.01 s | details |
| #42 | ACCEPTED | 0.01 s | details |
| #43 | ACCEPTED | 0.01 s | details |
| #44 | ACCEPTED | 0.01 s | details |
| #45 | ACCEPTED | 0.01 s | details |
| #46 | ACCEPTED | 0.01 s | details |
| #47 | ACCEPTED | 0.01 s | details |
| #48 | ACCEPTED | 0.01 s | details |
| #49 | ACCEPTED | 0.01 s | details |
| #50 | ACCEPTED | 0.01 s | details |
| #51 | ACCEPTED | 0.01 s | details |
| #52 | ACCEPTED | 0.01 s | details |
| #53 | ACCEPTED | 0.01 s | details |
| #54 | ACCEPTED | 0.01 s | details |
| #55 | ACCEPTED | 0.01 s | details |
| #56 | ACCEPTED | 0.01 s | details |
| #57 | ACCEPTED | 0.01 s | details |
| #58 | ACCEPTED | 0.01 s | details |
| #59 | ACCEPTED | 0.01 s | details |
| #60 | ACCEPTED | 0.01 s | details |
| #61 | ACCEPTED | 0.01 s | details |
| #62 | ACCEPTED | 0.01 s | details |
| #63 | ACCEPTED | 0.01 s | details |
Code
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <climits>
typedef long long ll;
using namespace std;
ll modulo = 998244353l;
ll modpow(ll a, ll e) {
ll r = 1 % modulo;
a %= modulo;
while (e) {
if (e & 1) r = (r * a) % modulo;
a = (a * a) % modulo;
e >>= 1;
}
return r;
}
vector<ll> fact;
vector<ll> invfact;
ll comb(int n, int k) {
if (k < 0 || k > n) return 0;
return fact[n] * invfact[k] % modulo * invfact[n-k] % modulo;
};
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
// freopen("input.txt", "r", stdin); // TODO: REMOVE THIS YOU STUPID ****
int n, a, b;
cin >> n >> a >> b;
int maxVal = n + b + 5;
fact = vector<ll>(maxVal);
invfact = vector<ll>(maxVal);
fact[0] = 1;
for (int i = 1; i <= maxVal; i++) fact[i] = fact[i-1] * i % modulo;
invfact[maxVal] = modpow(fact[maxVal], modulo - 2);
for (int i = maxVal; i > 0; i--) invfact[i-1] = invfact[i] * i % modulo;
ll ans = 0;
for (int k = a; k <= b; ++k) {
ans = (ans + comb(n + k - 1, k)) % modulo;
}
cout << ans << "\n";
return 0;
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 1 1 10 |
| correct output |
|---|
| 10 |
| user output |
|---|
| 10 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 2 3 3 |
| correct output |
|---|
| 4 |
| user output |
|---|
| 4 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 2 4 5 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 11 |
Test 4
Verdict: RUNTIME ERROR
| input |
|---|
| 3 4 5 |
| correct output |
|---|
| 36 |
| user output |
|---|
| (empty) |
Error:
munmap_chunk(): invalid pointer
Test 5
Verdict: ACCEPTED
| input |
|---|
| 3 2 2 |
| correct output |
|---|
| 6 |
| user output |
|---|
| 6 |
Test 6
Verdict: RUNTIME ERROR
| input |
|---|
| 5 5 5 |
| correct output |
|---|
| 126 |
| user output |
|---|
| (empty) |
Error:
munmap_chunk(): invalid pointer
Test 7
Verdict: RUNTIME ERROR
| input |
|---|
| 10 10 10 |
| correct output |
|---|
| 92378 |
| user output |
|---|
| (empty) |
Error:
munmap_chunk(): invalid pointer
Test 8
Verdict: RUNTIME ERROR
| input |
|---|
| 10 1 10 |
| correct output |
|---|
| 184755 |
| user output |
|---|
| (empty) |
Error:
munmap_chunk(): invalid pointer
Test 9
Verdict: RUNTIME ERROR
| input |
|---|
| 100 100 100 |
| correct output |
|---|
| 866655715 |
| user output |
|---|
| (empty) |
Test 10
Verdict: RUNTIME ERROR
| input |
|---|
| 10 100 100 |
| correct output |
|---|
| 918123961 |
| user output |
|---|
| (empty) |
Error:
munmap_chunk(): invalid pointer
Test 11
Verdict: RUNTIME ERROR
| input |
|---|
| 1000 10 10 |
| correct output |
|---|
| 84965120 |
| user output |
|---|
| (empty) |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 10000 10000 10000 |
| correct output |
|---|
| 658363258 |
| user output |
|---|
| 658363258 |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 100000 100000 100000 |
| correct output |
|---|
| 966937032 |
| user output |
|---|
| 966937032 |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 54883 59286 71521 |
| correct output |
|---|
| 908996595 |
| user output |
|---|
| 908996595 |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 41703 72034 99721 |
| correct output |
|---|
| 139159644 |
| user output |
|---|
| 139159644 |
Test 16
Verdict: ACCEPTED
| input |
|---|
| 43601 2593 18509 |
| correct output |
|---|
| 804369499 |
| user output |
|---|
| 804369499 |
Test 17
Verdict: ACCEPTED
| input |
|---|
| 55081 7073 70816 |
| correct output |
|---|
| 806880502 |
| user output |
|---|
| 806880502 |
Test 18
Verdict: ACCEPTED
| input |
|---|
| 96705 54725 90064 |
| correct output |
|---|
| 521461113 |
| user output |
|---|
| 521461113 |
Test 19
Verdict: ACCEPTED
| input |
|---|
| 22200 5519 87075 |
| correct output |
|---|
| 866679044 |
| user output |
|---|
| 866679044 |
Test 20
Verdict: ACCEPTED
| input |
|---|
| 89288 33199 94750 |
| correct output |
|---|
| 812654801 |
| user output |
|---|
| 812654801 |
Test 21
Verdict: ACCEPTED
| input |
|---|
| 7631 22735 77994 |
| correct output |
|---|
| 30255908 |
| user output |
|---|
| 30255908 |
Test 22
Verdict: ACCEPTED
| input |
|---|
| 87345 1112 96856 |
| correct output |
|---|
| 944788802 |
| user output |
|---|
| 944788802 |
Test 23
Verdict: ACCEPTED
| input |
|---|
| 1038 36447 50189 |
| correct output |
|---|
| 654272260 |
| user output |
|---|
| 654272260 |
Test 24
Verdict: ACCEPTED
| input |
|---|
| 41703 72034 99721 |
| correct output |
|---|
| 139159644 |
| user output |
|---|
| 139159644 |
Test 25
Verdict: ACCEPTED
| input |
|---|
| 18028 1948 6831 |
| correct output |
|---|
| 631722506 |
| user output |
|---|
| 631722506 |
Test 26
Verdict: ACCEPTED
| input |
|---|
| 4873 28912 79929 |
| correct output |
|---|
| 106074189 |
| user output |
|---|
| 106074189 |
Test 27
Verdict: ACCEPTED
| input |
|---|
| 28606 2900 95813 |
| correct output |
|---|
| 538554734 |
| user output |
|---|
| 538554734 |
Test 28
Verdict: ACCEPTED
| input |
|---|
| 25093 4610 68059 |
| correct output |
|---|
| 799962519 |
| user output |
|---|
| 799962519 |
Test 29
Verdict: ACCEPTED
| input |
|---|
| 67575 4472 32712 |
| correct output |
|---|
| 857647130 |
| user output |
|---|
| 857647130 |
Test 30
Verdict: ACCEPTED
| input |
|---|
| 82449 18136 86245 |
| correct output |
|---|
| 420446937 |
| user output |
|---|
| 420446937 |
Test 31
Verdict: ACCEPTED
| input |
|---|
| 18558 38661 75914 |
| correct output |
|---|
| 924425479 |
| user output |
|---|
| 924425479 |
Test 32
Verdict: ACCEPTED
| input |
|---|
| 35543 34086 47960 |
| correct output |
|---|
| 210554536 |
| user output |
|---|
| 210554536 |
Test 33
Verdict: ACCEPTED
| input |
|---|
| 20101 32903 99080 |
| correct output |
|---|
| 88647511 |
| user output |
|---|
| 88647511 |
Test 34
Verdict: ACCEPTED
| input |
|---|
| 18028 1948 6831 |
| correct output |
|---|
| 631722506 |
| user output |
|---|
| 631722506 |
Test 35
Verdict: ACCEPTED
| input |
|---|
| 61218 12076 16908 |
| correct output |
|---|
| 820171450 |
| user output |
|---|
| 820171450 |
Test 36
Verdict: ACCEPTED
| input |
|---|
| 78139 13111 69284 |
| correct output |
|---|
| 904117059 |
| user output |
|---|
| 904117059 |
Test 37
Verdict: ACCEPTED
| input |
|---|
| 45455 2862 43952 |
| correct output |
|---|
| 430742811 |
| user output |
|---|
| 430742811 |
Test 38
Verdict: ACCEPTED
| input |
|---|
| 84538 61888 77158 |
| correct output |
|---|
| 294818599 |
| user output |
|---|
| 294818599 |
Test 39
Verdict: ACCEPTED
| input |
|---|
| 26937 59685 80971 |
| correct output |
|---|
| 680140546 |
| user output |
|---|
| 680140546 |
Test 40
Verdict: ACCEPTED
| input |
|---|
| 30632 9727 88573 |
| correct output |
|---|
| 877318826 |
| user output |
|---|
| 877318826 |
Test 41
Verdict: ACCEPTED
| input |
|---|
| 55737 66074 71002 |
| correct output |
|---|
| 123569267 |
| user output |
|---|
| 123569267 |
Test 42
Verdict: ACCEPTED
| input |
|---|
| 59351 587 51636 |
| correct output |
|---|
| 122513346 |
| user output |
|---|
| 122513346 |
Test 43
Verdict: ACCEPTED
| input |
|---|
| 8954 7866 51810 |
| correct output |
|---|
| 961929284 |
| user output |
|---|
| 961929284 |
Test 44
Verdict: ACCEPTED
| input |
|---|
| 61218 12076 16908 |
| correct output |
|---|
| 820171450 |
| user output |
|---|
| 820171450 |
Test 45
Verdict: ACCEPTED
| input |
|---|
| 9556 43003 92502 |
| correct output |
|---|
| 424034313 |
| user output |
|---|
| 424034313 |
Test 46
Verdict: ACCEPTED
| input |
|---|
| 20433 945 23474 |
| correct output |
|---|
| 794687216 |
| user output |
|---|
| 794687216 |
Test 47
Verdict: ACCEPTED
| input |
|---|
| 9941 45344 78340 |
| correct output |
|---|
| 875489658 |
| user output |
|---|
| 875489658 |
Test 48
Verdict: ACCEPTED
| input |
|---|
| 82532 68582 70655 |
| correct output |
|---|
| 238007640 |
| user output |
|---|
| 238007640 |
Test 49
Verdict: ACCEPTED
| input |
|---|
| 52729 37586 66259 |
| correct output |
|---|
| 93243919 |
| user output |
|---|
| 93243919 |
Test 50
Verdict: ACCEPTED
| input |
|---|
| 10475 17392 24871 |
| correct output |
|---|
| 977605482 |
| user output |
|---|
| 977605482 |
Test 51
Verdict: ACCEPTED
| input |
|---|
| 76232 88012 95143 |
| correct output |
|---|
| 871309467 |
| user output |
|---|
| 871309467 |
Test 52
Verdict: ACCEPTED
| input |
|---|
| 77184 58424 64500 |
| correct output |
|---|
| 693972156 |
| user output |
|---|
| 693972156 |
Test 53
Verdict: ACCEPTED
| input |
|---|
| 96888 47083 55295 |
| correct output |
|---|
| 406195062 |
| user output |
|---|
| 406195062 |
Test 54
Verdict: ACCEPTED
| input |
|---|
| 9556 43003 92502 |
| correct output |
|---|
| 424034313 |
| user output |
|---|
| 424034313 |
Test 55
Verdict: ACCEPTED
| input |
|---|
| 83891 47894 87748 |
| correct output |
|---|
| 686766192 |
| user output |
|---|
| 686766192 |
Test 56
Verdict: ACCEPTED
| input |
|---|
| 85080 21779 92819 |
| correct output |
|---|
| 114946782 |
| user output |
|---|
| 114946782 |
Test 57
Verdict: ACCEPTED
| input |
|---|
| 88235 6779 56603 |
| correct output |
|---|
| 70147249 |
| user output |
|---|
| 70147249 |
Test 58
Verdict: ACCEPTED
| input |
|---|
| 88858 66896 98375 |
| correct output |
|---|
| 601764178 |
| user output |
|---|
| 601764178 |
Test 59
Verdict: ACCEPTED
| input |
|---|
| 50586 8901 76084 |
| correct output |
|---|
| 881324074 |
| user output |
|---|
| 881324074 |
Test 60
Verdict: ACCEPTED
| input |
|---|
| 87594 26882 34225 |
| correct output |
|---|
| 42681251 |
| user output |
|---|
| 42681251 |
Test 61
Verdict: ACCEPTED
| input |
|---|
| 73130 30310 55103 |
| correct output |
|---|
| 843664756 |
| user output |
|---|
| 843664756 |
Test 62
Verdict: ACCEPTED
| input |
|---|
| 63584 31874 92876 |
| correct output |
|---|
| 437812641 |
| user output |
|---|
| 437812641 |
Test 63
Verdict: ACCEPTED
| input |
|---|
| 88714 2531 74051 |
| correct output |
|---|
| 603847190 |
| user output |
|---|
| 603847190 |
