Submission #3376399


Source Code Expand

// g++ -std=c++11 a.cpp
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>	
#include<map>
#include<set>
#include<unordered_map>
#include<utility>
#include<cmath>
#include<random>
#include<cstring>
#include<queue>
#include<stack>
#include<bitset>
#include<cstdio>
#include<sstream>
#include<iomanip>
#include<assert.h>
#include<typeinfo>
#define loop(i,a,b) for(int i=a;i<b;i++) 
#define rep(i,a) loop(i,0,a)
#define FOR(i,a) for(auto i:a)
#define pb push_back
#define all(in) in.begin(),in.end()
#define shosu(x) fixed<<setprecision(x)
#define show1d(v) rep(_,v.size())cout<<" "<<v[_];cout<<endl;
#define show2d(v) rep(_,v.size()){rep(__,v[_].size())cout<<" "<<v[_][__];cout<<endl;}cout<<endl;
using namespace std;
//kaewasuretyuui
typedef long long ll;
//#define int ll
typedef int Def;
typedef pair<Def,Def> pii;
typedef vector<Def> vi;
typedef vector<vi> vvi;
typedef vector<pii> vp;
typedef vector<vp> vvp;
typedef vector<string> vs;
typedef vector<double> vd;
typedef vector<vd> vvd;
typedef pair<Def,pii> pip;
typedef vector<pip>vip;
// #define mt make_tuple
// typedef tuple<int,int,int> tp;
// typedef vector<tp> vt;
template<typename A,typename B>bool cmin(A &a,const B &b){return a>b?(a=b,true):false;}
template<typename A,typename B>bool cmax(A &a,const B &b){return a<b?(a=b,true):false;}
//template<class C>constexpr int size(const C &c){return (int)c.size();}
//template<class T,size_t N> constexpr int size(const T (&xs)[N])noexcept{return (int)N;}
const double PI=acos(-1);
const double EPS=1e-9;
Def inf = sizeof(Def) == sizeof(long long) ? 1e18+10 : 1e9+10;
// int dx[]={0,1,0,-1,1,1,-1,-1};
// int dy[]={1,0,-1,0,1,-1,1,-1};//RDLU
int dx[]={-1,-1,0,0,1,1};
int dy[]={-1,0,-1,1,0,1};//RDLU
//nCr mod m
#define MOD 998244353
#define M 1000100
vector<ll> fact;
bool h=false;
void init(){
	h=true;
	fact=vector<ll>(M);
	fact[0]=fact[1]=1;
	loop(i,2,M)fact[i]=fact[i-1]*i%MOD;
}
// a^b mod MOD
ll powmod(ll a,ll b,ll m=MOD){
	ll out=1;
	ll p=a%m;
	while(b){
		if(b&1)out=out*p%m;
		p=p*p%m;
		b>>=1;
	}
	return out;
}
//nCr
ll nCr(ll n,ll r,ll m=MOD){
	if(!h)init();
	if(n<0||r<0||n<r)return 1;//??????
	ll out=fact[n]*powmod(fact[r]*fact[n-r]%m,m-2,m)%m;
	return out;
}
int main(){
	ll n,m;
	cin>>n>>m;
	if(n>m)swap(n,m);
	ll out=m*nCr(n+m,n)%MOD;
	rep(i,n)(out+=nCr(2*i+m-n,i)*nCr(2*n-1-2*i,n-i)%MOD)%=MOD;
	cout<<out*powmod(nCr(n+m,n),MOD-2)%MOD<<endl;
}





Submission Info

Submission Time
Task F - Yes or No
User ixmel_rd
Language C++14 (GCC 5.4.1)
Score 2000
Code Size 2498 Byte
Status AC
Exec Time 658 ms
Memory 8192 KB

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 9 ms 8064 KB
sample_02.txt AC 9 ms 8064 KB
sample_03.txt AC 9 ms 8064 KB
sample_04.txt AC 9 ms 8064 KB
sample_05.txt AC 10 ms 8064 KB
subtask_1_01.txt AC 9 ms 8064 KB
subtask_1_02.txt AC 9 ms 8064 KB
subtask_1_03.txt AC 9 ms 8064 KB
subtask_1_04.txt AC 10 ms 8064 KB
subtask_1_05.txt AC 9 ms 8064 KB
subtask_1_06.txt AC 10 ms 8064 KB
subtask_1_07.txt AC 10 ms 8192 KB
subtask_1_08.txt AC 9 ms 8064 KB
subtask_1_09.txt AC 10 ms 8064 KB
subtask_1_10.txt AC 10 ms 8064 KB
subtask_1_11.txt AC 10 ms 8064 KB
subtask_1_12.txt AC 13 ms 8064 KB
subtask_1_13.txt AC 22 ms 8064 KB
subtask_1_14.txt AC 48 ms 8064 KB
subtask_1_15.txt AC 139 ms 8064 KB
subtask_1_16.txt AC 139 ms 8064 KB
subtask_1_17.txt AC 138 ms 8064 KB
subtask_1_18.txt AC 138 ms 8064 KB
subtask_1_19.txt AC 139 ms 8064 KB
subtask_1_20.txt AC 139 ms 8064 KB
subtask_1_21.txt AC 139 ms 8064 KB
subtask_1_22.txt AC 138 ms 8064 KB
subtask_1_23.txt AC 137 ms 8192 KB
subtask_1_24.txt AC 127 ms 8064 KB
subtask_1_25.txt AC 123 ms 8064 KB
subtask_2_01.txt AC 10 ms 8064 KB
subtask_2_02.txt AC 9 ms 8064 KB
subtask_2_03.txt AC 10 ms 8064 KB
subtask_2_04.txt AC 656 ms 8064 KB
subtask_2_05.txt AC 655 ms 8064 KB
subtask_2_06.txt AC 655 ms 8064 KB
subtask_2_07.txt AC 655 ms 8064 KB
subtask_2_08.txt AC 655 ms 8064 KB
subtask_2_09.txt AC 655 ms 8064 KB
subtask_2_10.txt AC 654 ms 8064 KB
subtask_2_11.txt AC 656 ms 8064 KB
subtask_2_12.txt AC 655 ms 8064 KB
subtask_2_13.txt AC 654 ms 8064 KB
subtask_2_14.txt AC 655 ms 8064 KB
subtask_2_15.txt AC 658 ms 8064 KB
subtask_2_16.txt AC 655 ms 8064 KB
subtask_2_17.txt AC 644 ms 8064 KB
subtask_2_18.txt AC 592 ms 8064 KB
subtask_2_19.txt AC 512 ms 8064 KB
subtask_2_20.txt AC 9 ms 8064 KB
subtask_2_21.txt AC 10 ms 8064 KB
subtask_2_22.txt AC 9 ms 8064 KB
subtask_2_23.txt AC 9 ms 8064 KB
subtask_2_24.txt AC 9 ms 8064 KB
subtask_2_25.txt AC 10 ms 8064 KB
subtask_2_26.txt AC 11 ms 8064 KB
subtask_2_27.txt AC 12 ms 8064 KB
subtask_2_28.txt AC 22 ms 8064 KB
subtask_2_29.txt AC 35 ms 8064 KB
subtask_2_30.txt AC 139 ms 8064 KB
subtask_2_31.txt AC 268 ms 8064 KB
subtask_2_32.txt AC 655 ms 8064 KB
subtask_2_33.txt AC 655 ms 8064 KB
subtask_2_34.txt AC 654 ms 8064 KB
subtask_2_35.txt AC 643 ms 8064 KB
subtask_2_36.txt AC 639 ms 8064 KB
subtask_2_37.txt AC 276 ms 8064 KB
subtask_2_38.txt AC 83 ms 8064 KB
subtask_2_39.txt AC 603 ms 8064 KB
subtask_2_40.txt AC 123 ms 8064 KB