Submission #3455769
Source Code Expand
#include <cstdio> #include <cstdlib> #include <cmath> #include <cstring> #include <iostream> #include <complex> #include <string> #include <algorithm> #include <vector> #include <queue> #include <stack> #include <map> #include <set> #include <unordered_map> #include <unordered_set> #include <functional> #include <cassert> typedef long long ll; using namespace std; #define debug(x) cerr << __LINE__ << " : " << #x << " = " << (x) << endl; #define mod 1000000007 //1e9+7(prime number) #define INF 1000000000 //1e9 #define LLINF 2000000000000000000LL //2e18 #define SIZE 100010 ll power(int k,int n,int M){ if(n==0) return 1; if(n==1) return (ll)k; ll ret = power(k,n/2,M); ret=(ret*ret)%M; if(n%2==1) ret=(ret*k)%M; return ret; } /*Combination*/ int C(int n,int m,int M){ if(n<m) return 0; if(m==0 || n==m) return 1; ll r = 1, t = 1; for(int i=0;i<m;i++) r = (r * (n-i))%M; for(int i=0;i<m;i++) t = (t * (i+1))%M; return r * power(t, mod-2, mod) % mod; } ll dp2[31][30*30+1]; ll fact[30*30+1], factr[30*30+1]; void init(){ fact[0] = 1; for(int i=1;i<=30*30;i++) fact[i] = (fact[i-1] * i)%mod; for(int i=0;i<=30*30;i++) factr[i] = power(fact[i], mod-2, mod); } int main(){ int n, d, a[31], sum = 0; init(); scanf("%d%d", &n, &d); for(int i=0;i<n;i++){ scanf("%d", a+i); sum += a[i]; } if(sum > d){ puts("0"); return 0; } dp2[0][0] = 1; for(int i=0;i<n;i++){ for(int j=i;j>=0;j--){ for(int k=0;k<=j*30;k++){ for(int l=0;l<a[i];l++){ ll add = dp2[j][k] * fact[k+l] % mod * factr[l] % mod * factr[k] % mod; dp2[j+1][k+l] = (dp2[j+1][k+l] + add) % mod; } } } } ll ans = 0; for(int i=0;i<n;i++){ for(int j=0;j<=i*30;j++){ if(d < j) continue; ll add = dp2[i][j] * C(d, j, mod) % mod * power(n-i, d-j, mod) % mod; if(i%2) add *= -1; ans = (ans + add + mod) % mod; } } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - 天下一有無 |
User | goodbaton |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2123 Byte |
Status | RE |
Exec Time | 120 ms |
Memory | 512 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:72:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &n, &d); ^ ./Main.cpp:75:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", a+i); ^
Judge Result
Set Name | All | ||||
---|---|---|---|---|---|
Score / Max Score | 0 / 40 | ||||
Status |
|
Set Name | Test Cases |
---|---|
All | case0, case1, case10, case100, case101, case102, case103, case104, case105, case106, case107, case108, case109, case11, case110, case111, case112, case113, case114, case115, case116, case117, case118, case119, case12, case13, case14, case15, case16, case17, case18, case19, case2, case20, case21, case22, case23, case24, case25, case26, case27, case28, case29, case3, case30, case31, case32, case33, case34, case35, case36, case37, case38, case39, case4, case40, case41, case42, case43, case44, case45, case46, case47, case48, case49, case5, case50, case51, case52, case53, case54, case55, case56, case57, case58, case59, case6, case60, case61, case62, case63, case64, case65, case66, case67, case68, case69, case7, case70, case71, case72, case73, case74, case75, case76, case77, case78, case79, case8, case80, case81, case82, case83, case84, case85, case86, case87, case88, case89, case9, case90, case91, case92, case93, case94, case95, case96, case97, case98, case99 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
case0 | WA | 2 ms | 256 KB |
case1 | WA | 2 ms | 256 KB |
case10 | WA | 2 ms | 256 KB |
case100 | RE | 120 ms | 512 KB |
case101 | WA | 2 ms | 256 KB |
case102 | WA | 2 ms | 256 KB |
case103 | WA | 2 ms | 256 KB |
case104 | WA | 2 ms | 256 KB |
case105 | RE | 98 ms | 512 KB |
case106 | RE | 98 ms | 512 KB |
case107 | WA | 2 ms | 256 KB |
case108 | RE | 98 ms | 512 KB |
case109 | WA | 2 ms | 256 KB |
case11 | WA | 2 ms | 256 KB |
case110 | RE | 99 ms | 512 KB |
case111 | RE | 99 ms | 512 KB |
case112 | RE | 98 ms | 512 KB |
case113 | RE | 100 ms | 512 KB |
case114 | RE | 99 ms | 512 KB |
case115 | RE | 100 ms | 512 KB |
case116 | WA | 2 ms | 256 KB |
case117 | RE | 98 ms | 512 KB |
case118 | WA | 2 ms | 256 KB |
case119 | WA | 2 ms | 256 KB |
case12 | WA | 2 ms | 256 KB |
case13 | WA | 2 ms | 256 KB |
case14 | WA | 2 ms | 256 KB |
case15 | WA | 2 ms | 256 KB |
case16 | WA | 3 ms | 256 KB |
case17 | RE | 101 ms | 512 KB |
case18 | RE | 100 ms | 512 KB |
case19 | RE | 100 ms | 512 KB |
case2 | WA | 2 ms | 256 KB |
case20 | WA | 2 ms | 256 KB |
case21 | RE | 98 ms | 512 KB |
case22 | WA | 2 ms | 256 KB |
case23 | WA | 2 ms | 256 KB |
case24 | WA | 2 ms | 256 KB |
case25 | RE | 97 ms | 512 KB |
case26 | WA | 2 ms | 256 KB |
case27 | RE | 97 ms | 512 KB |
case28 | WA | 2 ms | 256 KB |
case29 | WA | 2 ms | 256 KB |
case3 | WA | 2 ms | 256 KB |
case30 | RE | 98 ms | 512 KB |
case31 | WA | 2 ms | 256 KB |
case32 | RE | 97 ms | 512 KB |
case33 | WA | 2 ms | 256 KB |
case34 | WA | 2 ms | 256 KB |
case35 | RE | 97 ms | 512 KB |
case36 | WA | 2 ms | 256 KB |
case37 | WA | 2 ms | 256 KB |
case38 | WA | 2 ms | 256 KB |
case39 | WA | 2 ms | 256 KB |
case4 | WA | 2 ms | 256 KB |
case40 | RE | 98 ms | 512 KB |
case41 | WA | 2 ms | 256 KB |
case42 | WA | 2 ms | 256 KB |
case43 | RE | 98 ms | 512 KB |
case44 | RE | 100 ms | 512 KB |
case45 | RE | 100 ms | 512 KB |
case46 | WA | 2 ms | 256 KB |
case47 | WA | 2 ms | 256 KB |
case48 | RE | 99 ms | 512 KB |
case49 | RE | 98 ms | 512 KB |
case5 | WA | 2 ms | 256 KB |
case50 | WA | 2 ms | 256 KB |
case51 | WA | 2 ms | 256 KB |
case52 | WA | 2 ms | 256 KB |
case53 | WA | 2 ms | 256 KB |
case54 | WA | 2 ms | 256 KB |
case55 | WA | 2 ms | 256 KB |
case56 | RE | 99 ms | 512 KB |
case57 | WA | 2 ms | 256 KB |
case58 | WA | 2 ms | 256 KB |
case59 | RE | 98 ms | 512 KB |
case6 | WA | 2 ms | 256 KB |
case60 | WA | 2 ms | 256 KB |
case61 | WA | 2 ms | 256 KB |
case62 | WA | 2 ms | 256 KB |
case63 | WA | 2 ms | 256 KB |
case64 | RE | 100 ms | 512 KB |
case65 | RE | 98 ms | 512 KB |
case66 | RE | 98 ms | 512 KB |
case67 | RE | 98 ms | 512 KB |
case68 | WA | 2 ms | 256 KB |
case69 | RE | 99 ms | 512 KB |
case7 | WA | 2 ms | 256 KB |
case70 | RE | 99 ms | 512 KB |
case71 | RE | 102 ms | 512 KB |
case72 | WA | 2 ms | 256 KB |
case73 | RE | 98 ms | 512 KB |
case74 | RE | 100 ms | 512 KB |
case75 | RE | 98 ms | 512 KB |
case76 | WA | 2 ms | 256 KB |
case77 | WA | 2 ms | 256 KB |
case78 | RE | 99 ms | 512 KB |
case79 | WA | 2 ms | 256 KB |
case8 | WA | 2 ms | 256 KB |
case80 | RE | 99 ms | 512 KB |
case81 | WA | 2 ms | 256 KB |
case82 | WA | 2 ms | 256 KB |
case83 | WA | 2 ms | 256 KB |
case84 | RE | 99 ms | 512 KB |
case85 | WA | 2 ms | 256 KB |
case86 | WA | 2 ms | 256 KB |
case87 | RE | 100 ms | 512 KB |
case88 | WA | 2 ms | 256 KB |
case89 | RE | 100 ms | 512 KB |
case9 | WA | 2 ms | 256 KB |
case90 | WA | 2 ms | 256 KB |
case91 | RE | 98 ms | 512 KB |
case92 | WA | 2 ms | 256 KB |
case93 | RE | 99 ms | 512 KB |
case94 | WA | 2 ms | 256 KB |
case95 | RE | 99 ms | 512 KB |
case96 | WA | 2 ms | 256 KB |
case97 | RE | 100 ms | 512 KB |
case98 | RE | 100 ms | 512 KB |
case99 | WA | 2 ms | 256 KB |