比赛 五一大礼包 评测结果 WWTTTTTTTT
题目名称 组一辈子乐队 最终得分 0
用户昵称 LikableP 运行时间 10.291 s
代码语言 C++ 内存使用 381.95 MiB
提交时间 2026-05-04 11:52:09
显示代码纯文本
#include <cstdio>
typedef long long ll;

const int MAXN = 2e5 + 10;
const int MAXK = 310;
const ll MOD = 998244353;

int n, k;
ll a[MAXN], pow[MAXN][MAXK];
ll C[MAXK][MAXK];

int main() {
  freopen("MyGo.in", "r", stdin);
  freopen("MyGo.out", "w", stdout);
  scanf("%d %d", &n, &k);
  for (int i = 1; i <= n; ++i) scanf("%lld", &a[i]);
  
  for (int i = 1; i <= n; ++i) {
    pow[i][0] = 1;
    for (int j = 1; j <= k; ++j) pow[i][j] = pow[i][j - 1] * a[i] % MOD;
  }
  
  C[0][0] = 1;
  for (int i = 1; i <= k; ++i) {
    for (int j = 0; j <= i; ++j) {
      C[i][j] = (C[i - 1][j] + C[i - 1][j - 1]) % MOD;
    }
  }
  
  for (int X = 1; X <= k; ++X) {
    ll sum = 0;
    for (int L = 1; L <= n; ++L) {
      for (int R = L + 1; R <= n; ++R) {
        for (int i = 0; i <= X; ++i) {
          sum = (sum + C[X][i] * pow[L][i] * pow[R][X - i]) % MOD; 
        }
      }
    }
    printf("%lld\n", sum);
  }
  return 0;
}