Submission #3788104


Source Code Expand

Copy
#include<cstdio>
#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<set>
#include<map>
using namespace std;
#define rep(i,l,r) for(register int i=(l);i<=(r);++i)
#define repdo(i,l,r) for(register int i=(l);i>=(r);--i)
#define il inline
typedef double db;
typedef long long ll;

//---------------------------------------
const ll nmod=998244353,nsz=5e5+50;
int n,m;
//ll dp[2][nsz*2],cur=1;
ll fac[nsz*2],ifac[nsz*2],ninv[nsz*2];

ll qpow(ll a,ll b){
	ll res=1;
	while(b){
		if(b&1)res=res*a%nmod;
		b>>=1,a=a*a%nmod;
	}
	return res;
}
ll inv(ll a){return qpow(a,nmod-2);}
ll c(ll a,ll b){
	if(a<0||b<0||a<b)return 0;
	return fac[a]*ifac[b]%nmod*ifac[a-b]%nmod;
}

int main(){
	cin>>n>>m;
	if(n<m)swap(n,m);
	fac[0]=1;
	rep(i,1,n+m){
		fac[i]=fac[i-1]*i%nmod;
	}
	ifac[n+m]=inv(fac[n+m]);
	repdo(i,n+m-1,1){
		ifac[i]=ifac[i+1]*(i+1)%nmod;
		ninv[i]=fac[i-1]*ifac[i]%nmod;
	}
	ifac[0]=1;
	ll ans=0;	
	rep(i,1,m){
		ans=(ans+c(i*2,i)*c(n+m-i*2,n-i))%nmod;
	}
	ans=(ans*qpow(c(m+n,n)*2%nmod,nmod-2))%nmod;
	ans=(ans+n)%nmod;
	cout<<ans<<'\n';
    return 0;
}












Submission Info

Submission Time
Task F - Yes or No
User luogu_bot2
Language C++ (GCC 5.4.1)
Score 2000
Code Size 1099 Byte
Status
Exec Time 24 ms
Memory 23680 KB

Judge Result

Set Name Score / Max Score Test Cases
Sample 0 / 0 sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt
Partial 1500 / 1500 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 500 / 500 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 2 ms 4352 KB
sample_02.txt 2 ms 4352 KB
sample_03.txt 2 ms 4352 KB
sample_04.txt 2 ms 4352 KB
sample_05.txt 2 ms 4352 KB
subtask_1_01.txt 2 ms 4352 KB
subtask_1_02.txt 2 ms 4352 KB
subtask_1_03.txt 2 ms 4352 KB
subtask_1_04.txt 2 ms 4352 KB
subtask_1_05.txt 2 ms 4352 KB
subtask_1_06.txt 2 ms 4352 KB
subtask_1_07.txt 2 ms 4352 KB
subtask_1_08.txt 2 ms 4352 KB
subtask_1_09.txt 2 ms 4352 KB
subtask_1_10.txt 2 ms 4352 KB
subtask_1_11.txt 2 ms 4352 KB
subtask_1_12.txt 2 ms 4352 KB
subtask_1_13.txt 3 ms 4480 KB
subtask_1_14.txt 4 ms 6912 KB
subtask_1_15.txt 7 ms 9984 KB
subtask_1_16.txt 7 ms 9984 KB
subtask_1_17.txt 7 ms 9984 KB
subtask_1_18.txt 7 ms 9984 KB
subtask_1_19.txt 7 ms 9984 KB
subtask_1_20.txt 7 ms 9984 KB
subtask_1_21.txt 7 ms 9984 KB
subtask_1_22.txt 7 ms 9984 KB
subtask_1_23.txt 7 ms 9984 KB
subtask_1_24.txt 7 ms 9856 KB
subtask_1_25.txt 6 ms 9856 KB
subtask_2_01.txt 2 ms 4352 KB
subtask_2_02.txt 2 ms 4352 KB
subtask_2_03.txt 2 ms 4352 KB
subtask_2_04.txt 24 ms 23680 KB
subtask_2_05.txt 24 ms 23680 KB
subtask_2_06.txt 24 ms 23680 KB
subtask_2_07.txt 24 ms 23680 KB
subtask_2_08.txt 24 ms 23680 KB
subtask_2_09.txt 24 ms 23680 KB
subtask_2_10.txt 24 ms 23680 KB
subtask_2_11.txt 24 ms 23680 KB
subtask_2_12.txt 24 ms 23680 KB
subtask_2_13.txt 24 ms 23680 KB
subtask_2_14.txt 24 ms 23680 KB
subtask_2_15.txt 24 ms 23680 KB
subtask_2_16.txt 24 ms 23680 KB
subtask_2_17.txt 23 ms 23552 KB
subtask_2_18.txt 22 ms 23040 KB
subtask_2_19.txt 20 ms 22784 KB
subtask_2_20.txt 11 ms 16640 KB
subtask_2_21.txt 11 ms 16640 KB
subtask_2_22.txt 11 ms 16640 KB
subtask_2_23.txt 11 ms 16640 KB
subtask_2_24.txt 11 ms 16640 KB
subtask_2_25.txt 11 ms 16640 KB
subtask_2_26.txt 11 ms 16640 KB
subtask_2_27.txt 11 ms 16640 KB
subtask_2_28.txt 11 ms 16640 KB
subtask_2_29.txt 11 ms 16640 KB
subtask_2_30.txt 14 ms 20736 KB
subtask_2_31.txt 17 ms 22784 KB
subtask_2_32.txt 24 ms 23680 KB
subtask_2_33.txt 24 ms 23680 KB
subtask_2_34.txt 24 ms 23680 KB
subtask_2_35.txt 24 ms 23552 KB
subtask_2_36.txt 23 ms 23552 KB
subtask_2_37.txt 13 ms 16640 KB
subtask_2_38.txt 10 ms 16640 KB
subtask_2_39.txt 23 ms 23424 KB
subtask_2_40.txt 14 ms 20736 KB