#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
const double pi=acos(-1);
using namespace std;
class complex
{
public:
double real,imag;
complex(double x=0.0,double y=0.0)
{
real=x,imag=y;
}
complex operator +(const complex &x)
{
return complex(real+x.real,imag+x.imag);
}
complex operator -(const complex &x)
{
return complex(real-x.real,imag-x.imag);
}
complex operator *(const complex &x)
{
return complex(real*x.real-imag*x.imag,real*x.imag+imag*x.real);
}
}A[1000010],B[1000010],C[1000010];
int R[1000010];
void fft(complex *A,int lim,int flag)
{
for(int i=0;i<lim;i++)
{
if(i<R[i])swap(A[i],A[R[i]]);
}
for(int j=1;j<lim;j<<=1)
{
complex bas(cos(pi/j),flag*sin(pi/j));
for(int i=0;i<lim;i+=(j<<1))
{
complex t(1,0);
for(int l=0;l<j;l++,t=t*bas)
{
complex nx=A[i+l],ny=t*A[i+j+l];
A[i+l]=nx+ny;
A[i+j+l]=nx-ny;
}
}
}
}
int n,m;
int main()
{
scanf("%d%d",&n,&m);
for(int i=0;i<=n;i++)scanf("%lf",&A[i].real);
for(int i=0;i<=m;i++)scanf("%lf",&B[i].real);
int lognum=0,tmp=1;
while(tmp<=n+m)tmp<<=1,lognum++;
for(int i=0;i<tmp;i++)R[i]=(R[i>>1]>>1)|((i&1)<<(lognum-1));
fft(A,tmp,1);
fft(B,tmp,1);
for(int i=0;i<=tmp;i++)C[i]=A[i]*B[i];
fft(C,tmp,-1);
for(int i=0;i<=n+m;i++)printf("%d ",(int)(C[i].real/tmp+0.5));
return 0;
}
Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
Subtask #1 Testcase #1 | 5.118 ms | 45 MB + 824 KB | Accepted | Score: 0 | 显示更多 |
Subtask #1 Testcase #2 | 69.595 ms | 48 MB + 228 KB | Accepted | Score: 100 | 显示更多 |
Subtask #1 Testcase #3 | 34.803 ms | 46 MB + 592 KB | Accepted | Score: 0 | 显示更多 |
Subtask #1 Testcase #4 | 34.909 ms | 46 MB + 580 KB | Accepted | Score: 0 | 显示更多 |
Subtask #1 Testcase #5 | 5.349 ms | 45 MB + 824 KB | Accepted | Score: 0 | 显示更多 |
Subtask #1 Testcase #6 | 5.152 ms | 45 MB + 824 KB | Accepted | Score: 0 | 显示更多 |
Subtask #1 Testcase #7 | 5.117 ms | 45 MB + 824 KB | Accepted | Score: 0 | 显示更多 |
Subtask #1 Testcase #8 | 63.464 ms | 47 MB + 984 KB | Accepted | Score: 0 | 显示更多 |
Subtask #1 Testcase #9 | 63.736 ms | 47 MB + 984 KB | Accepted | Score: 0 | 显示更多 |
Subtask #1 Testcase #10 | 57.392 ms | 47 MB + 716 KB | Accepted | Score: 0 | 显示更多 |
Subtask #1 Testcase #11 | 70.23 ms | 48 MB + 308 KB | Accepted | Score: 0 | 显示更多 |
Subtask #1 Testcase #12 | 69.704 ms | 47 MB + 188 KB | Accepted | Score: 0 | 显示更多 |
Subtask #1 Testcase #13 | 5.366 ms | 45 MB + 824 KB | Accepted | Score: 0 | 显示更多 |