第一题用最大堆会好一点,第二题用dict+gcd会好一点