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 |
|
|
|
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 |