Submission #18237689
Source Code Expand
/*
after dusk passed,
there is a starry sky.
*/
#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
#define m_k make_pair
#define mod 998244353
#define int long long
using namespace std;
const int N=5*1e5+100;
int n,k,fac[N],inv[N],ans;
inline void add(int &a,int b){a=((a+b>mod)?a+b-mod:a+b);}
inline void del(int &a,int b){a=((a-b<0)?a-b+mod:a-b);}
inline void mul(int &a,int b){a=(a*b)%mod;}
inline int C(int n,int m){return fac[n]*inv[n-m]%mod*inv[m]%mod;}
inline int m_pow(int a,int b)
{
int ans=1;
while (b)
{
if (b&1) mul(ans,a);
b>>=1;
mul(a,a);
}
return ans;
}
inline int read()
{
int f=1,x=0;char s=getchar();
while(s<'0'||s>'9'){if(s=='-')f=-1;s=getchar();}
while(s>='0'&&s<='9'){x=x*10+s-'0';s=getchar();}
return x*f;
}
inline int f(int n){return(C(n,(n+1)/2)-C(n,(n-3)/2)+mod)%mod;}
signed main()
{
n=read();k=read();
fac[0]=1;
for (int i=1;i<=k;i++) fac[i]=fac[i-1]*i%mod;
inv[k]=m_pow(fac[k],mod-2);
for (int i=k-1;i>=0;i--) inv[i]=(inv[i+1]*(i+1))%mod;
for (int i=n;i<=k;i++)
{
if (i<k-i) continue;
if (i==k-i)
{
add(ans,(C(k-1,i)-C(k-1,2*i-n+1)+mod)%mod);
continue;
}
if (2*i-n+1>k) add(ans,C(k,i));
else add(ans,(C(k,i)-C(k,2*i-n+1)+mod)%mod);
}
printf("%lld\n",ans);
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Ball Eat Chameleons |
| User | SevenDawns |
| Language | C++ (GCC 9.2.1) |
| Score | 1200 |
| Code Size | 1281 Byte |
| Status | AC |
| Exec Time | 25 ms |
| Memory | 11548 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 1200 / 1200 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | s1.txt, s2.txt, s3.txt, s4.txt, s5.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, s1.txt, s2.txt, s3.txt, s4.txt, s5.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01.txt | AC | 17 ms | 11320 KiB |
| 02.txt | AC | 15 ms | 11376 KiB |
| 03.txt | AC | 18 ms | 11504 KiB |
| 04.txt | AC | 15 ms | 11548 KiB |
| 05.txt | AC | 14 ms | 11456 KiB |
| 06.txt | AC | 13 ms | 7184 KiB |
| 07.txt | AC | 3 ms | 4036 KiB |
| 08.txt | AC | 7 ms | 5512 KiB |
| 09.txt | AC | 16 ms | 9692 KiB |
| 10.txt | AC | 17 ms | 11536 KiB |
| 11.txt | AC | 25 ms | 10680 KiB |
| 12.txt | AC | 17 ms | 10956 KiB |
| 13.txt | AC | 13 ms | 11452 KiB |
| 14.txt | AC | 18 ms | 11304 KiB |
| 15.txt | AC | 15 ms | 9732 KiB |
| 16.txt | AC | 16 ms | 11352 KiB |
| 17.txt | AC | 14 ms | 11260 KiB |
| 18.txt | AC | 15 ms | 11260 KiB |
| 19.txt | AC | 15 ms | 11492 KiB |
| 20.txt | AC | 17 ms | 10576 KiB |
| 21.txt | AC | 20 ms | 11448 KiB |
| 22.txt | AC | 13 ms | 8860 KiB |
| 23.txt | AC | 2 ms | 3652 KiB |
| 24.txt | AC | 15 ms | 9788 KiB |
| 25.txt | AC | 13 ms | 9944 KiB |
| 26.txt | AC | 17 ms | 11500 KiB |
| 27.txt | AC | 18 ms | 11260 KiB |
| 28.txt | AC | 14 ms | 11496 KiB |
| 29.txt | AC | 3 ms | 3744 KiB |
| 30.txt | AC | 3 ms | 3564 KiB |
| 31.txt | AC | 3 ms | 3620 KiB |
| 32.txt | AC | 2 ms | 3648 KiB |
| 33.txt | AC | 17 ms | 11204 KiB |
| 34.txt | AC | 15 ms | 9504 KiB |
| s1.txt | AC | 2 ms | 3588 KiB |
| s2.txt | AC | 2 ms | 3744 KiB |
| s3.txt | AC | 2 ms | 3656 KiB |
| s4.txt | AC | 2 ms | 3588 KiB |
| s5.txt | AC | 12 ms | 7408 KiB |