| Task: | Skittles |
| Sender: | hundlij1 |
| Submission time: | 2025-11-17 17:37:29 +0200 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.00 s | details |
| #3 | ACCEPTED | 0.00 s | details |
| #4 | ACCEPTED | 0.00 s | details |
| #5 | ACCEPTED | 0.00 s | details |
| #6 | ACCEPTED | 0.00 s | details |
| #7 | ACCEPTED | 0.00 s | details |
| #8 | ACCEPTED | 0.00 s | details |
| #9 | ACCEPTED | 0.01 s | details |
| #10 | ACCEPTED | 0.00 s | details |
| #11 | ACCEPTED | 0.00 s | details |
| #12 | ACCEPTED | 0.00 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.01 s | details |
| #23 | ACCEPTED | 0.01 s | details |
| #24 | ACCEPTED | 0.01 s | details |
| #25 | ACCEPTED | 0.00 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.00 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.00 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
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
#include <queue>
#include <climits>
using namespace std;
typedef long long ll;
const ll MOD = 998244353;
ll gcd(ll a, ll b) {
while (b) {
a %= b;
swap(a, b);
}
return a;
}
ll modPow(ll base, ll exp, ll mod) {
ll result = 1;
base %= mod;
while (exp > 0) {
if (exp & 1) {
result = (result * base) % mod;
}
base = (base * base) % mod;
exp >>= 1;
}
return result;
}
ll modInverse(ll a, ll m) {
// For prime modulus, use Fermat's Little Theorem: a^(-1) = a^(p-2) mod p
return modPow(a, m - 2, m);
}
ll binomialCoeff(ll n, ll k, vector<ll> &fac, vector<ll> &inv_fac) {
if (k > n || k < 0) return 0;
if (k == 0 || k == n) return 1;
return fac[n] * inv_fac[k] % MOD * inv_fac[n - k] % MOD;
}
ll lcm(ll a, ll b) {
return (a / gcd(a, b)) * b;
}
void task1(){
ll n, q;
cin >> n >> q;
vector<pair<ll,ll>> arr(q);
for(ll i = 0; i < q; i++){
ll a, b;
cin >> a >> b;
arr[i] = {a, b};
}
for(ll i = 0; i < q; i++){
cout << lcm(arr[i].first, n) / arr[i].first << endl;
}
}
void task2(){
ll n, a, b;
cin >> n >> a >> b;
ll maxN = n + b;
vector<ll> fact(maxN + 1);
fact[0] = 1;
for(ll i = 1; i <= maxN; i++){
fact[i] = (fact[i-1] * i) % MOD;
}
vector<ll> inv_fact(maxN + 1);
inv_fact[maxN] = modInverse(fact[maxN], MOD);
for(ll i = maxN - 1; i >= 0; i--){
inv_fact[i] = (inv_fact[i + 1] * (i + 1)) % MOD;
}
ll total = 0;
for(ll i = a; i <= b; i++){
total = (total + binomialCoeff(n + i - 1, i, fact, inv_fact)) % MOD;
}
cout << total << endl;
}
void task3(){
ll n, y;
cin >> n >> y;
vector<ll> arr(n);
for(ll i = 0; i < n; i++){
cin >> arr[i];
}
for(ll i = 0; i < n; i++){
if(gcd(y, arr[i]) != 1){
cout << "Yes" << endl;
return;
}
}
cout << "No" << endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
task2();
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: ACCEPTED
| input |
|---|
| 3 4 5 |
| correct output |
|---|
| 36 |
| user output |
|---|
| 36 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 3 2 2 |
| correct output |
|---|
| 6 |
| user output |
|---|
| 6 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 5 5 5 |
| correct output |
|---|
| 126 |
| user output |
|---|
| 126 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 10 10 10 |
| correct output |
|---|
| 92378 |
| user output |
|---|
| 92378 |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 10 1 10 |
| correct output |
|---|
| 184755 |
| user output |
|---|
| 184755 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 100 100 100 |
| correct output |
|---|
| 866655715 |
| user output |
|---|
| 866655715 |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 10 100 100 |
| correct output |
|---|
| 918123961 |
| user output |
|---|
| 918123961 |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 1000 10 10 |
| correct output |
|---|
| 84965120 |
| user output |
|---|
| 84965120 |
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 |
