| 比赛 |
五一大礼包 |
评测结果 |
AATTTTTTTT |
| 题目名称 |
组一辈子乐队 |
最终得分 |
20 |
| 用户昵称 |
郑霁桓 |
运行时间 |
8.824 s |
| 代码语言 |
C++ |
内存使用 |
5.24 MiB |
| 提交时间 |
2026-05-04 11:07:15 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
long long n,k,a[200005],c[305][305],s[305],as[305];
const long long M=998244353;
int main(){
freopen("MyGo.in","r",stdin);
freopen("MyGo.out","w",stdout);
ios::sync_with_stdio(false);
cin>>n>>k;
c[0][0]=1;
for(int i=1;i<=k;i++){
for(int j=0;j<=i;j++){
c[i][j]=(j?c[i-1][j-1]:0)+c[i-1][j];
if(c[i][j]>=M) c[i][j]-=M;
}
}
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=n;i>=2;i--){
long long pw=1;
for(int j=0;j<=k;j++){
s[j]+=pw;
if(s[j]>=M) s[j]-=M;
pw=pw*a[i]%M;
}
pw=1;
for(int j=0;j<=k;j++){
for(int l=0;l+j<=k;l++){
as[l+j]+=c[l+j][l]*pw%M*s[l]%M;
if(as[l+j]>=M) as[l+j]-=M;
}
pw=pw*a[i-1]%M;
}
}
for(int i=1;i<=k;i++) cout<<as[i]<<"\n";
return 0;
}