blob: f7cf1692b6dc5f08c0f601283db546475ca5ae7b (
plain)
1
2
3
4
5
6
7
8
|
vector<ll> mul(vector<ll> a, vector<ll> b) {
int n = 1 << (__lg(2 * max(sz(a), sz(b)) - 1));
a.resize(n), b.resize(n);
bitwiseConv(a), bitwiseConv(b);
for (int i=0; i<n; i++) a[i] *= b[i]; // MOD?
bitwiseConv(a, true);
return a;
}
|