Submission #1001053
Source Code Expand
#include <bits/stdc++.h> #define rep(i,n) for(int i=0;i<(int)(n);i++) #define rep1(i,n) for(int i=1;i<=(int)(n);i++) #define all(c) c.begin(),c.end() #define pb push_back #define fs first #define sc second #define show(x) cout << #x << " = " << x << endl #define chmin(x,y) x=min(x,y) #define chmax(x,y) x=max(x,y) using namespace std; template<class S,class T> ostream& operator<<(ostream& o,const pair<S,T> &p){return o<<"("<<p.fs<<","<<p.sc<<")";} template<class T> ostream& operator<<(ostream& o,const vector<T> &vc){o<<"sz = "<<vc.size()<<endl<<"[";for(const T& v:vc) o<<v<<",";o<<"]";return o;} typedef long long ll; ll mod=1e9+7; const int MX=50000; ll f[MX+1],g[MX+1],inv[MX+1]; void precalc(){ f[0]=1; rep1(i,MX) f[i]=f[i-1]*i%mod; inv[1]=1; for(int i=2;i<=MX;i++) inv[i]=mod-mod/i*inv[mod%i]%mod; g[0]=1; rep1(i,MX) g[i]=g[i-1]*inv[i]%mod; } ll C4(int a,int b,int c,int d){ return f[a+b+c+d]*g[a]%mod*g[b]%mod*g[c]%mod*g[d]%mod; } ll C2(int a,int b){ if(b==0) return 1; if(a<b) return 0; return f[a]*g[b]%mod*g[a-b]%mod; } int main(){ precalc(); int N,A,B,C; cin>>N>>A>>B>>C; if(B%2==1){ puts("0"); return 0; } ll ans=0; rep(i,A+1){ rep(j,C/3+1){ int l=C-(A-i)-3*j; if(l<0) break; ll tmp=C4(i,A-i,j,B/2); tmp*=C2(l+B/2-1,l); tmp%=mod; ans+=tmp; ans%=mod; } } cout<<ans<<endl; }
Submission Info
Submission Time | |
---|---|
Task | J - 123 Pairs |
User | sigma425 |
Language | C++14 (GCC 5.4.1) |
Score | 1500 |
Code Size | 1391 Byte |
Status | AC |
Exec Time | 108 ms |
Memory | 1408 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1500 / 1500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example0.txt, example1.txt |
All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, 044.txt, 045.txt, 046.txt, 047.txt, 048.txt, 049.txt, example0.txt, example1.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
000.txt | AC | 55 ms | 1408 KB |
001.txt | AC | 7 ms | 1408 KB |
002.txt | AC | 7 ms | 1408 KB |
003.txt | AC | 7 ms | 1408 KB |
004.txt | AC | 7 ms | 1408 KB |
005.txt | AC | 6 ms | 1408 KB |
006.txt | AC | 7 ms | 1408 KB |
007.txt | AC | 7 ms | 1408 KB |
008.txt | AC | 7 ms | 1408 KB |
009.txt | AC | 7 ms | 1408 KB |
010.txt | AC | 6 ms | 1408 KB |
011.txt | AC | 6 ms | 1408 KB |
012.txt | AC | 6 ms | 1408 KB |
013.txt | AC | 6 ms | 1408 KB |
014.txt | AC | 7 ms | 1408 KB |
015.txt | AC | 86 ms | 1408 KB |
016.txt | AC | 12 ms | 1408 KB |
017.txt | AC | 28 ms | 1408 KB |
018.txt | AC | 11 ms | 1408 KB |
019.txt | AC | 32 ms | 1408 KB |
020.txt | AC | 15 ms | 1408 KB |
021.txt | AC | 75 ms | 1408 KB |
022.txt | AC | 13 ms | 1408 KB |
023.txt | AC | 21 ms | 1408 KB |
024.txt | AC | 77 ms | 1408 KB |
025.txt | AC | 17 ms | 1408 KB |
026.txt | AC | 47 ms | 1408 KB |
027.txt | AC | 71 ms | 1408 KB |
028.txt | AC | 30 ms | 1408 KB |
029.txt | AC | 37 ms | 1408 KB |
030.txt | AC | 71 ms | 1408 KB |
031.txt | AC | 77 ms | 1408 KB |
032.txt | AC | 12 ms | 1408 KB |
033.txt | AC | 6 ms | 1408 KB |
034.txt | AC | 33 ms | 1408 KB |
035.txt | AC | 41 ms | 1408 KB |
036.txt | AC | 13 ms | 1408 KB |
037.txt | AC | 6 ms | 1408 KB |
038.txt | AC | 108 ms | 1408 KB |
039.txt | AC | 6 ms | 1408 KB |
040.txt | AC | 6 ms | 1408 KB |
041.txt | AC | 23 ms | 1408 KB |
042.txt | AC | 7 ms | 1408 KB |
043.txt | AC | 7 ms | 1408 KB |
044.txt | AC | 6 ms | 1408 KB |
045.txt | AC | 6 ms | 1408 KB |
046.txt | AC | 6 ms | 1408 KB |
047.txt | AC | 6 ms | 1408 KB |
048.txt | AC | 7 ms | 1408 KB |
049.txt | AC | 7 ms | 1408 KB |
example0.txt | AC | 6 ms | 1408 KB |
example1.txt | AC | 7 ms | 1408 KB |