Yelich first to 20 homers, Diamondbacks score 18 runs