#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int MAXN=1100000;
const int Mod=998244353;
const int rt=3;
const int rtinv=332748118;
int n,x,lena,lenb,rev[MAXN];
char sa[MAXN],sb[MAXN];
ll a[MAXN],b[MAXN];
ll qpow(ll x,ll a){
ll res=1;
while (a){
if (a&1) res=res*x%Mod;
x=x*x%Mod; a>>=1;
}
return res;
}
void NTT(ll *a,bool inv){
for (int i=0;i<n;i++)
if (i<rev[i]) swap(a[i],a[rev[i]]);
for (int l=2;l<=n;l<<=1){
int m=l>>1;
ll o;
if (inv) o=qpow(rtinv,(Mod-1)/l);
else o=qpow(rt,(Mod-1)/l);
for (ll *p=a;p!=a+n;p+=l){
ll omg=1;
for (int i=0;i<m;i++,omg=(omg*o)%Mod){
ll t=omg*p[i+m]%Mod;
p[i+m]=((p[i]-t)%Mod+Mod)%Mod;
p[i]=(p[i]+t)%Mod;
}
}
}
}
int main(){
scanf("%d%d",&lena,&lenb);
lena++; lenb++;
n=1; int lim=0;
while (n<lena+lenb){
n<<=1;
lim++;
}
for (int i=0;i<n;i++) rev[i]=(rev[i>>1]>>1)|((i&1)<<(lim-1));
for (int i=0;i<lena;i++){
scanf("%lld",&a[lena-i-1]);
a[lena-i-1]=(a[lena-i-1]%Mod+Mod)%Mod;
}
for (int i=0;i<lenb;i++){
scanf("%lld",&b[lenb-i-1]);
b[lenb-i-1]=(b[lenb-i-1]%Mod+Mod)%Mod;
}
NTT(a,false); NTT(b,false);
for (int i=0;i<n;i++) a[i]=a[i]*b[i]%Mod;
NTT(a,true);
ll t=qpow(n,Mod-2);
for (int i=lena+lenb-2;i>0;i--) printf("%lld ",a[i]*t%Mod);
printf("%lld\n",a[0]*t%Mod);
return 0;
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Subtask #1 Testcase #1 | 10.88 us | 28 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #2 | 76.371 ms | 6 MB + 456 KB | Accepted | Score: 100 | 显示更多 |
| Subtask #1 Testcase #3 | 34.804 ms | 2 MB + 820 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #4 | 34.873 ms | 2 MB + 808 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #5 | 11.69 us | 28 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #6 | 11.2 us | 28 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #7 | 10.6 us | 28 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #8 | 70.512 ms | 6 MB + 188 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #9 | 70.558 ms | 6 MB + 188 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #10 | 64.587 ms | 5 MB + 944 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #11 | 76.801 ms | 6 MB + 536 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #12 | 77.267 ms | 5 MB + 416 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #13 | 10.3 us | 28 KB | Accepted | Score: 0 | 显示更多 |