先算全没中,再用一减掉。

每个池子没中是 ,全乘后取模就行。

void solve(){
    int n;cin>>n;
    vll a(n),b(n);
    for(int i=0;i<n;++i)cin>>a[i];
    for(int i=0;i<n;++i)cin>>b[i];
    ll p=1;
    for(int i=0;i<n;++i){
        p=p*((a[i]-b[i])%MOD)%MOD;
        p=p*modinv(a[i])%MOD;
    }
    ll ans=(1-p+MOD)%MOD;
    cout<<ans<<endl;
}