multisubnet listener
if so how much time is needed for the application to connect to the lsitener

Since you said HostRecordTTL is set to 1200 seconds, the application will take up to 20 minutes to reconnect after a failover that crosses subnets.
Ideally you should set RegisterAllProvidersIP = 1, and update your application's connection string to include MultiSubnetFailover = True.  This will provide the best failover experience.
If your application uses a driver that doesn't support this setting, or you can't change the connection string for some other reason, and you need to reduce the failover timeout, then you'll need to lower the HostRecordTTL setting.