Tyske Maximilian Schachmann vant den 18. etappen av Giro d'Italia. Sammenlagtleder Simon Yates tapte tid til sine nærmeste konkurrenter.