Submission #1613289
Source Code Expand
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<cmath> #include<set> #include<bitset> #include<map> #define fo(i,a,b) for(int i=a;i<=b;i++) #define fd(i,a,b) for(int i=a;i>=b;i--) using namespace std; typedef long long LL; typedef double db; const int N = 1000003; const int mo = 998244353; LL js[N],inv[N],ny[N]; int n,m; LL v0[N],v1[N]; LL comb(int n,int m){ if (n<0||m<0)return 0; return js[n+m]*ny[n]%mo*ny[m]%mo; } LL nycomb(int n,int m){ return ny[n+m]*js[n]%mo*js[m]%mo; } int main(){ scanf("%d%d",&n,&m); if (n>m)swap(n,m); js[0]=inv[0]=js[1]=inv[1]=ny[0]=ny[1]=1; fo(i,2,1e+6)js[i]=js[i-1]*i%mo; fo(i,2,1e+6)inv[i]=1ll*(mo-mo/i)*inv[mo%i]%mo; fo(i,2,1e+6)ny[i]=ny[i-1]*inv[i]%mo; int w=m; fd(i,n+m-1,0){ if (w&&max(i+1-w,w)>max(i-w+1,w-1)){ w--; if (w<m-1)v0[i]=(v0[i+1]+comb(n-(i-w+1),m-(w+1))*comb(i-w,w)%mo)%mo; else v0[i]=comb(i-w,w); } else if (w<m&&w)v0[i]=(v0[i+1]+mo-comb(n-(i-w+1),m-(w+1))*comb(i-w+1,w-1)%mo)%mo; } w=n; fd(i,n+m-1,0){ if (w&&max(i+1-w,w)>max(i-w+1,w-1)){ w--; if (w==n-1)v1[i]=comb(i-w,w); else v1[i]=(v1[i+1]+comb(n-(w+1),m-(i-w+1))*comb(i-w,w)%mo)%mo; } else if (w<n&&w)v1[i]=(v1[i+1]+mo-comb(n-(w+1),m-(i-w+1))*comb(i-w+1,w-1)%mo)%mo; } LL now=comb(n,m)*m%mo,ans=now*inv[n+m]%mo; fd(i,n+m-1,1){ now=(now+mo-v0[i])%mo; now=(now+mo-v1[i])%mo; ans=(ans+now*inv[i]%mo)%mo; } ans=ans*nycomb(n,m)%mo; printf("%lld\n",ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Yes or No |
User | samjia2000 |
Language | C++14 (GCC 5.4.1) |
Score | 2000 |
Code Size | 1539 Byte |
Status | AC |
Exec Time | 70 ms |
Memory | 39424 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:35:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d",&n,&m); ^
Judge Result
Set Name | Sample | Partial | All | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1500 / 1500 | 500 / 500 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt |
Partial | sample_01.txt, sample_02.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_2_01.txt, subtask_2_02.txt, subtask_2_03.txt, subtask_2_04.txt, subtask_2_05.txt, subtask_2_06.txt, subtask_2_07.txt, subtask_2_08.txt, subtask_2_09.txt, subtask_2_10.txt, subtask_2_11.txt, subtask_2_12.txt, subtask_2_13.txt, subtask_2_14.txt, subtask_2_15.txt, subtask_2_16.txt, subtask_2_17.txt, subtask_2_18.txt, subtask_2_19.txt, subtask_2_20.txt, subtask_2_21.txt, subtask_2_22.txt, subtask_2_23.txt, subtask_2_24.txt, subtask_2_25.txt, subtask_2_26.txt, subtask_2_27.txt, subtask_2_28.txt, subtask_2_29.txt, subtask_2_30.txt, subtask_2_31.txt, subtask_2_32.txt, subtask_2_33.txt, subtask_2_34.txt, subtask_2_35.txt, subtask_2_36.txt, subtask_2_37.txt, subtask_2_38.txt, subtask_2_39.txt, subtask_2_40.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 22 ms | 27008 KB |
sample_02.txt | AC | 22 ms | 27008 KB |
sample_03.txt | AC | 22 ms | 27008 KB |
sample_04.txt | AC | 22 ms | 27008 KB |
sample_05.txt | AC | 22 ms | 27008 KB |
subtask_1_01.txt | AC | 22 ms | 27008 KB |
subtask_1_02.txt | AC | 22 ms | 27008 KB |
subtask_1_03.txt | AC | 22 ms | 27008 KB |
subtask_1_04.txt | AC | 22 ms | 27008 KB |
subtask_1_05.txt | AC | 22 ms | 27008 KB |
subtask_1_06.txt | AC | 22 ms | 27008 KB |
subtask_1_07.txt | AC | 22 ms | 27008 KB |
subtask_1_08.txt | AC | 22 ms | 27008 KB |
subtask_1_09.txt | AC | 22 ms | 27008 KB |
subtask_1_10.txt | AC | 22 ms | 27008 KB |
subtask_1_11.txt | AC | 22 ms | 27008 KB |
subtask_1_12.txt | AC | 23 ms | 27008 KB |
subtask_1_13.txt | AC | 23 ms | 27136 KB |
subtask_1_14.txt | AC | 26 ms | 29568 KB |
subtask_1_15.txt | AC | 32 ms | 30592 KB |
subtask_1_16.txt | AC | 32 ms | 30592 KB |
subtask_1_17.txt | AC | 32 ms | 30592 KB |
subtask_1_18.txt | AC | 32 ms | 30592 KB |
subtask_1_19.txt | AC | 32 ms | 30592 KB |
subtask_1_20.txt | AC | 32 ms | 30592 KB |
subtask_1_21.txt | AC | 32 ms | 30592 KB |
subtask_1_22.txt | AC | 32 ms | 30592 KB |
subtask_1_23.txt | AC | 32 ms | 30720 KB |
subtask_1_24.txt | AC | 31 ms | 30464 KB |
subtask_1_25.txt | AC | 31 ms | 30464 KB |
subtask_2_01.txt | AC | 22 ms | 27008 KB |
subtask_2_02.txt | AC | 22 ms | 27008 KB |
subtask_2_03.txt | AC | 22 ms | 27008 KB |
subtask_2_04.txt | AC | 70 ms | 39424 KB |
subtask_2_05.txt | AC | 69 ms | 39296 KB |
subtask_2_06.txt | AC | 70 ms | 39296 KB |
subtask_2_07.txt | AC | 69 ms | 39296 KB |
subtask_2_08.txt | AC | 69 ms | 39296 KB |
subtask_2_09.txt | AC | 69 ms | 39296 KB |
subtask_2_10.txt | AC | 70 ms | 39296 KB |
subtask_2_11.txt | AC | 70 ms | 39296 KB |
subtask_2_12.txt | AC | 70 ms | 39296 KB |
subtask_2_13.txt | AC | 70 ms | 39296 KB |
subtask_2_14.txt | AC | 70 ms | 39296 KB |
subtask_2_15.txt | AC | 69 ms | 39296 KB |
subtask_2_16.txt | AC | 69 ms | 39296 KB |
subtask_2_17.txt | AC | 69 ms | 39296 KB |
subtask_2_18.txt | AC | 66 ms | 39296 KB |
subtask_2_19.txt | AC | 60 ms | 39296 KB |
subtask_2_20.txt | AC | 35 ms | 31104 KB |
subtask_2_21.txt | AC | 35 ms | 31104 KB |
subtask_2_22.txt | AC | 35 ms | 31104 KB |
subtask_2_23.txt | AC | 35 ms | 31104 KB |
subtask_2_24.txt | AC | 35 ms | 31104 KB |
subtask_2_25.txt | AC | 35 ms | 31104 KB |
subtask_2_26.txt | AC | 35 ms | 31104 KB |
subtask_2_27.txt | AC | 35 ms | 31104 KB |
subtask_2_28.txt | AC | 36 ms | 31232 KB |
subtask_2_29.txt | AC | 37 ms | 31488 KB |
subtask_2_30.txt | AC | 43 ms | 34688 KB |
subtask_2_31.txt | AC | 50 ms | 37248 KB |
subtask_2_32.txt | AC | 69 ms | 39296 KB |
subtask_2_33.txt | AC | 70 ms | 39296 KB |
subtask_2_34.txt | AC | 70 ms | 39296 KB |
subtask_2_35.txt | AC | 69 ms | 39296 KB |
subtask_2_36.txt | AC | 69 ms | 39296 KB |
subtask_2_37.txt | AC | 45 ms | 35200 KB |
subtask_2_38.txt | AC | 36 ms | 32000 KB |
subtask_2_39.txt | AC | 67 ms | 39296 KB |
subtask_2_40.txt | AC | 42 ms | 34560 KB |