fork download
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define int long long
  6. #define double long double
  7. #define endl "\n"
  8. #define NAME "a"
  9.  
  10. const int MAXN = 1e3 + 5;
  11. const int MAXK = 1e3 + 5;
  12. const int inf = 1e18;
  13. const int MOD = 1e9 + 7;
  14.  
  15. void FileInput(){
  16. if(fopen(NAME".inp" , "r") == NULL)
  17. freopen(NAME".inp" , "w" , stdout);
  18. freopen(NAME".inp" , "r" , stdin);
  19. freopen(NAME".out" , "w" , stdout);
  20. }
  21.  
  22. int n , k;
  23. int a[MAXN];
  24. int f[MAXN][MAXK];
  25.  
  26. void solve(){
  27. cin >> n >> k;
  28. for(int i = 1 ; i <= n ; i++)
  29. cin >> a[i];
  30.  
  31. f[0][0] = 1;
  32. for(int i = 1 ; i <= n ; i++){
  33. f[i][0] = 1;
  34. for(int j = 1 ; j <= k ; j++){
  35. f[i][j] = (f[i - 1][j - 1] * a[i] % MOD) + (f[i - 1][j] % MOD);
  36. f[i][j] %= MOD;
  37. // cout << i << " " << j << " " << f[i][j] << endl;
  38. }
  39. }
  40.  
  41. cout << f[n][k] << endl;
  42. }
  43.  
  44. int32_t main(){
  45. // FileInput();
  46. ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  47. int t = 1;
  48. // cin >> t;
  49. while(t--)
  50. solve();
  51. return 0;
  52. }
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
1