Submission #40989453
Source Code Expand
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define op(x) ((x&1)?x+1:x-1)
#define odd(x) (x&1)
#define even(x) (!odd(x))
#define lc(x) (x<<1)
#define rc(x) (lc(x)|1)
#define lowbit(x) (x&-x)
#define mp(x,y) make_pair(x,y)
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
using namespace std;
const int MAXN=1e6+10,LIM=1e6,mod=998244353;
void add(ll& x,ll y){x=(x+y)%mod;}
void sub(ll& x,ll y){x=(x-y+mod)%mod;}
ll addv(ll x,ll y){return (x+y)%mod;}
ll subv(ll x,ll y){return (x-y+mod)%mod;}
ll mypow(ll a,ll n){
if(!n)return 1;
ll tmp=mypow(a,n/2);tmp=tmp*tmp%mod;
if(n&1)tmp=tmp*a%mod;return tmp;
}
ll myinv(ll a){
return mypow(a,mod-2);
}
ll n,m,ans,res;
ll fact[MAXN],rfact[MAXN];
ll C(ll n,ll m){
if(m<0 || n<m)return 0;
return fact[n]*rfact[m]%mod*rfact[n-m]%mod;
}
int main(){
fact[0]=1;rep(i,1,LIM)fact[i]=fact[i-1]*i%mod;
rfact[LIM]=myinv(fact[LIM]);per(i,LIM-1,0)rfact[i]=rfact[i+1]*(i+1)%mod;
cin>>n>>m;
if(n>m)swap(n,m);
ans=m;
rep(i,0,n-1){
add(res,C(2*i+m-n,i)*C(2*(n-i)-1,n-i)%mod);
}
res=res*myinv(C(n+m,n))%mod;
add(ans,res);
cout<<ans<<endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Yes or No |
| User | Crying |
| Language | C++ (GCC 9.2.1) |
| Score | 2000 |
| Code Size | 1300 Byte |
| Status | AC |
| Exec Time | 35 ms |
| Memory | 19272 KB |
Compile Error
./Main.cpp: In function ‘ll mypow(ll, ll)’:
./Main.cpp:23:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
23 | if(n&1)tmp=tmp*a%mod;return tmp;
| ^~
./Main.cpp:23:26: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
23 | if(n&1)tmp=tmp*a%mod;return tmp;
| ^~~~~~
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 | 29 ms | 19240 KB |
| sample_02.txt | AC | 21 ms | 19204 KB |
| sample_03.txt | AC | 21 ms | 19256 KB |
| sample_04.txt | AC | 21 ms | 19156 KB |
| sample_05.txt | AC | 25 ms | 19204 KB |
| subtask_1_01.txt | AC | 21 ms | 19240 KB |
| subtask_1_02.txt | AC | 23 ms | 19156 KB |
| subtask_1_03.txt | AC | 24 ms | 19232 KB |
| subtask_1_04.txt | AC | 22 ms | 19200 KB |
| subtask_1_05.txt | AC | 22 ms | 19152 KB |
| subtask_1_06.txt | AC | 20 ms | 19156 KB |
| subtask_1_07.txt | AC | 29 ms | 19080 KB |
| subtask_1_08.txt | AC | 21 ms | 19156 KB |
| subtask_1_09.txt | AC | 21 ms | 19092 KB |
| subtask_1_10.txt | AC | 28 ms | 19204 KB |
| subtask_1_11.txt | AC | 26 ms | 19156 KB |
| subtask_1_12.txt | AC | 21 ms | 19200 KB |
| subtask_1_13.txt | AC | 23 ms | 19272 KB |
| subtask_1_14.txt | AC | 25 ms | 19232 KB |
| subtask_1_15.txt | AC | 23 ms | 19188 KB |
| subtask_1_16.txt | AC | 28 ms | 19236 KB |
| subtask_1_17.txt | AC | 23 ms | 19092 KB |
| subtask_1_18.txt | AC | 29 ms | 19156 KB |
| subtask_1_19.txt | AC | 23 ms | 19232 KB |
| subtask_1_20.txt | AC | 23 ms | 19096 KB |
| subtask_1_21.txt | AC | 27 ms | 19260 KB |
| subtask_1_22.txt | AC | 28 ms | 19076 KB |
| subtask_1_23.txt | AC | 25 ms | 19204 KB |
| subtask_1_24.txt | AC | 28 ms | 19188 KB |
| subtask_1_25.txt | AC | 25 ms | 19172 KB |
| subtask_2_01.txt | AC | 24 ms | 19240 KB |
| subtask_2_02.txt | AC | 22 ms | 19040 KB |
| subtask_2_03.txt | AC | 21 ms | 19184 KB |
| subtask_2_04.txt | AC | 30 ms | 19272 KB |
| subtask_2_05.txt | AC | 30 ms | 19204 KB |
| subtask_2_06.txt | AC | 29 ms | 19240 KB |
| subtask_2_07.txt | AC | 29 ms | 19236 KB |
| subtask_2_08.txt | AC | 27 ms | 19076 KB |
| subtask_2_09.txt | AC | 33 ms | 19260 KB |
| subtask_2_10.txt | AC | 26 ms | 19080 KB |
| subtask_2_11.txt | AC | 26 ms | 19264 KB |
| subtask_2_12.txt | AC | 34 ms | 19204 KB |
| subtask_2_13.txt | AC | 30 ms | 19240 KB |
| subtask_2_14.txt | AC | 32 ms | 19156 KB |
| subtask_2_15.txt | AC | 33 ms | 19092 KB |
| subtask_2_16.txt | AC | 26 ms | 19152 KB |
| subtask_2_17.txt | AC | 34 ms | 19204 KB |
| subtask_2_18.txt | AC | 29 ms | 19204 KB |
| subtask_2_19.txt | AC | 29 ms | 19076 KB |
| subtask_2_20.txt | AC | 22 ms | 19172 KB |
| subtask_2_21.txt | AC | 21 ms | 19092 KB |
| subtask_2_22.txt | AC | 26 ms | 19236 KB |
| subtask_2_23.txt | AC | 26 ms | 19040 KB |
| subtask_2_24.txt | AC | 22 ms | 19228 KB |
| subtask_2_25.txt | AC | 32 ms | 19096 KB |
| subtask_2_26.txt | AC | 22 ms | 19168 KB |
| subtask_2_27.txt | AC | 22 ms | 19184 KB |
| subtask_2_28.txt | AC | 22 ms | 19156 KB |
| subtask_2_29.txt | AC | 24 ms | 19236 KB |
| subtask_2_30.txt | AC | 23 ms | 19156 KB |
| subtask_2_31.txt | AC | 26 ms | 19272 KB |
| subtask_2_32.txt | AC | 33 ms | 19272 KB |
| subtask_2_33.txt | AC | 35 ms | 19236 KB |
| subtask_2_34.txt | AC | 31 ms | 19260 KB |
| subtask_2_35.txt | AC | 31 ms | 19152 KB |
| subtask_2_36.txt | AC | 27 ms | 19260 KB |
| subtask_2_37.txt | AC | 25 ms | 19080 KB |
| subtask_2_38.txt | AC | 26 ms | 19076 KB |
| subtask_2_39.txt | AC | 32 ms | 19152 KB |
| subtask_2_40.txt | AC | 22 ms | 19088 KB |