Drinkers 'paying 45p too much for a pint'