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
WA × 72
RE × 48
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