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
AC × 5
AC × 28
AC × 75
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