結果

問題 No.2994 べき内積
ユーザー tails
提出日時 2024-12-19 10:54:09
言語 cLay
(20241019-1)
結果
AC  
実行時間 17 ms / 2,000 ms
コード長 581 bytes
コンパイル時間 4,117 ms
コンパイル使用メモリ 181,996 KB
実行使用メモリ 9,928 KB
最終ジャッジ日時 2024-12-19 10:54:15
合計ジャッジ時間 5,791 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

fft_pnt a[4096],z[4096];
ll@m++,@n++,@k[m];
rep(i,4096){
	a[i].set(0,0);
	z[i].set(0,0);
}
rep(i,n){
	ll@x;
	a[i].x=x;
}
z[0].x=m>2?powmod(a[0].x,sum[i,2,m](k[i]),1009):1;
ll c=k[0]+(m>1?k[1]*1009:0);
while(c){
	fft(4096,a);
	if(c&1){
		fft(4096,z);
		rep(i,4096){
			z[i]*=a[i];
		}
		fftinv(4096,z);
		rep(i,n){
			z[i].set(fmod(floor(z[i].x/4096+.5),1009),0);
		}
		rep(i,n,4096){
			z[i].set(0,0);
		}
	}
	c>>=1;
	rep(i,4096){
		a[i]*=a[i];
	}
	fftinv(4096,a);
	rep(i,n){
		a[i].set(fmod(floor(a[i].x/4096+.5),1009),0);
	}
	rep(i,n,4096){
		a[i].set(0,0);
	}
}
wt((ll)z(n).x);
0