Submission #3786220
Source Code Expand
/** SXR0aXAkI0JwbXptI3FhI3Z3I293bCNqY2IjUG0jMCNicG0jVHFkcXZvLyNCcG0jQW10bjBhY2phcWFicXZvLyNNYm16dml0MSNWdyNhdGN1am16I2tpdiNhbXF9bSNQcXUjVnd6I0F0bW14MSNQcWEjaXptI2l0dCNicHF2b2EjUXYjYnBtI3BtaWRtdmEjaXZsI3d2I21pemJwMSNFcHcjcWEjYnBtem0ja2l2I3F2Ym16a21sbSNRdiNQcWEjeHptYW12a20jbXtrbXhiI0lhI3BtI3htenVxYmJtYnBHI1BtI3N2d2VtYnAjRXBpYiMraXh4bWl6bWJwI2J3I1BxYSNrem1pYmN6bWEjSWEsI0ptbnd6bSN3eiNJbmJteiN3eiNKbXBxdmwjYnBtdTEjVnd6I2FwaXR0I2JwbXwja3d1eGlhYSNJY29wYiN3biNwcWEjc3Z3ZXRtbG9tI017a214YiNpYSNQbSNlcXR0bWJwMSNQcWEjYnB6d3ZtI2x3YnAjbXtibXZsI1dkbXojYnBtI3BtaWRtdmEjSXZsI3d2I21pemJwLyNpdmwjUG0jbm1tdG1icCNWdyNuaWJxb2NtI3F2I29jaXpscXZvI0l2bCN4em1hbXpkcXZvI2JwbXUvI053eiNQbSNxYSNicG0jVXdhYiNQcW9wMSNCcG0jQWN4em11bSMrcXYjb3R3enwsMQ== */ #include <cstring> #include <vector> #include <list> #include <map> #include <set> #include <deque> #include <stack> #include <bitset> #include <algorithm> #include <functional> #include <numeric> #include <utility> #include <sstream> #include <iostream> #include <iomanip> #include <cstdio> #include <queue> #include <cmath> #include <cstdlib> #include <ctime> #include <cassert> #define F first #define S second #define endl '\n' #define deb(x) cout<<#x<<' '<<x<<endl; #define pb push_back /* #ifdef IZI_KATKA #define int __int64_t #else #define int __int64 #endif */ const long long MOD = 998244353; const long long MAXN = 1e6 + 1; using namespace std; typedef long long ll; long long readInt() { bool minus1 = false; long long result = 0; char ch; ch = getchar(); while (true) { if (ch == '-') break; if (ch >= '0' && ch <= '9') break; ch = getchar(); } if (ch == '-') minus1 = true; else result = ch-'0'; while (true) { ch = getchar(); if (ch < '0' || ch > '9') break; result = result*10 + (ch - '0'); } if (minus1) return -result; else return result; } ll fact[MAXN]; ll binpow (ll a, ll n) { if (n == 0) return 1; if (n % 2 == 1) return (binpow (a, n-1) * a) % MOD; else { ll b = binpow (a, n/2) % MOD; return (b * b) % MOD; } } ll C(ll n, ll k) { ll res1 = fact[n]; ll res2 = (fact[k] * fact[n - k]) % MOD; return (res1 * binpow(res2, MOD - 2)) % MOD; } int main() { #ifdef IZI_KATKA assert(freopen("input", "r", stdin)); assert(freopen("output", "w", stdout)); #endif ll N = readInt(), A = readInt(), B = readInt(), K = readInt(); fact[0] = 1; for (int i = 1; i <= N; i++) { fact[i] = fact[i - 1] * i; fact[i] %= MOD; } ll ans = 0; for (int cnt1 = 0; cnt1 <= N; cnt1 ++) { ll res = cnt1 * A; if (K - res < 0) continue; if ((K - res) % B == 0) { ll cnt2 = (K - res) / B; if (cnt2 <= N) ans += C(N, cnt1) * C(N, cnt2); ans %= MOD; } } cout << ans; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - RGB Coloring |
User | Ismail_A |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 2914 Byte |
Status | AC |
Exec Time | 201 ms |
Memory | 4352 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample01.txt, sample02.txt, sample03.txt |
All | sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, sample01.txt, sample02.txt, sample03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in01.txt | AC | 7 ms | 4352 KB |
in02.txt | AC | 8 ms | 4352 KB |
in03.txt | AC | 6 ms | 4352 KB |
in04.txt | AC | 7 ms | 4352 KB |
in05.txt | AC | 7 ms | 4352 KB |
in06.txt | AC | 6 ms | 4352 KB |
in07.txt | AC | 7 ms | 4352 KB |
in08.txt | AC | 3 ms | 896 KB |
in09.txt | AC | 7 ms | 4352 KB |
in10.txt | AC | 5 ms | 2048 KB |
in11.txt | AC | 5 ms | 2176 KB |
in12.txt | AC | 3 ms | 1024 KB |
in13.txt | AC | 35 ms | 1664 KB |
in14.txt | AC | 8 ms | 640 KB |
in15.txt | AC | 8 ms | 1024 KB |
in16.txt | AC | 5 ms | 512 KB |
in17.txt | AC | 39 ms | 1792 KB |
in18.txt | AC | 82 ms | 4352 KB |
in19.txt | AC | 201 ms | 4352 KB |
in20.txt | AC | 183 ms | 4352 KB |
in21.txt | AC | 1 ms | 256 KB |
sample01.txt | AC | 1 ms | 256 KB |
sample02.txt | AC | 1 ms | 256 KB |
sample03.txt | AC | 3 ms | 896 KB |