Submission #4311693


Source Code Expand

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>

using namespace std;
const int N=1000005;
const int MOD=998244353;
typedef long long LL;

int n,m,fac[N],inv[N];
int Ans1,Ans2;

//LL gcd(LL x,LL y) {
//	if(!y) return x;
//	return gcd(y,x%y);
//}
//
//struct Data{
//	LL x,y;
//	Data(LL _x=0,LL _y=0) {x=_x; y=_y;}
//	friend Data operator+(const Data A,const Data B){
//		Data ret; ret.y=A.y*B.y; ret.x=A.x*B.y+A.y*B.x;
//		LL tmp=gcd(ret.x,ret.y); ret.x/=tmp; ret.y/=tmp;
//		return ret;
//	}
//	friend Data operator*(const Data A,const Data B){
//		Data ret; ret.x=A.x*B.x; ret.y=A.y*B.y;
//		LL tmp=gcd(ret.x,ret.y); ret.x/=tmp; ret.y/=tmp;
//		return ret;
//	}
//}ans;

inline int fast_pow(int x,int y){
	int ret=1;
	for(;y;y>>=1){
		if(y&1) ret=(LL)ret*x%MOD;
		x=(LL)x*x%MOD;
	}
	return ret;
}

inline int C(int x,int y){
	return (LL)fac[x]*inv[y]%MOD*inv[x-y]%MOD;
}

int main(){
	scanf("%d%d",&n,&m);
	if(n>m) swap(n,m); fac[0]=inv[0]=1;
	int i;
	for(i=1;i<=n+m;i+=4){
		fac[i]=1ll*fac[i-1]*i%MOD;
		fac[i+1]=1ll*fac[i]*(i+1)%MOD;
		fac[i+2]=1ll*fac[i+1]*(i+2)%MOD;
		fac[i+3]=1ll*fac[i+2]*(i+3)%MOD;
	}
	for(;i<=n+m;i++) fac[i]=fac[i-1]*i%MOD;
	inv[n+m]=fast_pow(fac[n+m],MOD-2);
	for(int i=n+m-1;~i;i--) inv[i]=1ll*inv[i+1]*(i+1)%MOD;
	Ans1=1ll*2*m*C(n+m,n)%MOD; Ans2=fast_pow(C(n+m,n)*2%MOD,MOD-2);
	for(int i=1;i<=n;i++) {
		Ans1=Ans1+1ll*C(n-i+m-i,n-i)*C(i+i,i)%MOD;	
		Ans1%=MOD;
	}
	printf("%lld\n",1ll*Ans1*Ans2%MOD);
//	ans=ans+Data(1,2)*Data(C(n-i+m-i,n-i)*C(i+i,i),C(n+m,n));
//	printf("%lld\n",1ll*ans.x*fast_pow(ans.y,MOD-2)%MOD);
	return 0;	
}

Submission Info

Submission Time
Task F - Yes or No
User luogu_bot5
Language C++14 (GCC 5.4.1)
Score 2000
Code Size 1654 Byte
Status AC
Exec Time 20 ms
Memory 8064 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:48: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 2 ms 2304 KB
sample_02.txt AC 2 ms 2304 KB
sample_03.txt AC 2 ms 2304 KB
sample_04.txt AC 2 ms 2304 KB
sample_05.txt AC 2 ms 2304 KB
subtask_1_01.txt AC 2 ms 2304 KB
subtask_1_02.txt AC 2 ms 2304 KB
subtask_1_03.txt AC 2 ms 2304 KB
subtask_1_04.txt AC 2 ms 2304 KB
subtask_1_05.txt AC 2 ms 2304 KB
subtask_1_06.txt AC 2 ms 2304 KB
subtask_1_07.txt AC 2 ms 2304 KB
subtask_1_08.txt AC 2 ms 2304 KB
subtask_1_09.txt AC 2 ms 2304 KB
subtask_1_10.txt AC 2 ms 2304 KB
subtask_1_11.txt AC 2 ms 2304 KB
subtask_1_12.txt AC 2 ms 2304 KB
subtask_1_13.txt AC 2 ms 2432 KB
subtask_1_14.txt AC 3 ms 4608 KB
subtask_1_15.txt AC 6 ms 5120 KB
subtask_1_16.txt AC 6 ms 5120 KB
subtask_1_17.txt AC 6 ms 5120 KB
subtask_1_18.txt AC 6 ms 5120 KB
subtask_1_19.txt AC 6 ms 5120 KB
subtask_1_20.txt AC 6 ms 5120 KB
subtask_1_21.txt AC 6 ms 5120 KB
subtask_1_22.txt AC 6 ms 5120 KB
subtask_1_23.txt AC 6 ms 5120 KB
subtask_1_24.txt AC 5 ms 4992 KB
subtask_1_25.txt AC 5 ms 4992 KB
subtask_2_01.txt AC 2 ms 2304 KB
subtask_2_02.txt AC 2 ms 2304 KB
subtask_2_03.txt AC 2 ms 2304 KB
subtask_2_04.txt AC 20 ms 8064 KB
subtask_2_05.txt AC 20 ms 8064 KB
subtask_2_06.txt AC 20 ms 8064 KB
subtask_2_07.txt AC 20 ms 8064 KB
subtask_2_08.txt AC 20 ms 8064 KB
subtask_2_09.txt AC 20 ms 8064 KB
subtask_2_10.txt AC 20 ms 8064 KB
subtask_2_11.txt AC 20 ms 8064 KB
subtask_2_12.txt AC 20 ms 8064 KB
subtask_2_13.txt AC 20 ms 8064 KB
subtask_2_14.txt AC 20 ms 8064 KB
subtask_2_15.txt AC 20 ms 8064 KB
subtask_2_16.txt AC 20 ms 8064 KB
subtask_2_17.txt AC 20 ms 8064 KB
subtask_2_18.txt AC 18 ms 7680 KB
subtask_2_19.txt AC 16 ms 7168 KB
subtask_2_20.txt AC 8 ms 6272 KB
subtask_2_21.txt AC 8 ms 6272 KB
subtask_2_22.txt AC 9 ms 6272 KB
subtask_2_23.txt AC 8 ms 6272 KB
subtask_2_24.txt AC 9 ms 6272 KB
subtask_2_25.txt AC 8 ms 6272 KB
subtask_2_26.txt AC 9 ms 6272 KB
subtask_2_27.txt AC 9 ms 6272 KB
subtask_2_28.txt AC 9 ms 6272 KB
subtask_2_29.txt AC 9 ms 6400 KB
subtask_2_30.txt AC 11 ms 6528 KB
subtask_2_31.txt AC 13 ms 6912 KB
subtask_2_32.txt AC 20 ms 8064 KB
subtask_2_33.txt AC 20 ms 8064 KB
subtask_2_34.txt AC 20 ms 8064 KB
subtask_2_35.txt AC 20 ms 8064 KB
subtask_2_36.txt AC 20 ms 8064 KB
subtask_2_37.txt AC 11 ms 6272 KB
subtask_2_38.txt AC 8 ms 5888 KB
subtask_2_39.txt AC 19 ms 7936 KB
subtask_2_40.txt AC 10 ms 6400 KB