使用map的注意!
查看原帖
使用map的注意!
1224587
amd47802574楼主2024/7/27 11:32

#易错点1:可能会有价格相同,数量不同的情况,需要+

while (m--) {
	cin >> p >> a;
	mp[p] += a;
}

#易错点2:【价格*数量】会爆int,需要强转

for (auto& pr : mp) {
	sum += pr.second;//并入数量
	money += (LL)pr.first * pr.second;
	if (sum > n) {
		money -= (LL)(sum - n) * pr.first;//减掉多花的钱
		break;
	}
}
2024/7/27 11:32
加载中...