More than 300 people have been charged with drink and drug driving offences during the police’s annual Christmas crackdown.