Improved Algorithms for Contextual Dynamic Pricing