按照题意,先累加所有参与满减的商品价格之和,然后计算他们可以凑成的 300 的次数,这就是可以减去 50 的次数。
再加上不参加满减的商品价格即可。
时间复杂度:O(n)
小红来到一家商场购物。
这家商场正在优惠促销,部分商品可以参加每满 300 减 50 的活动。
现在给定你小红购买的每个物品的价格,以及每个物品是否参加满减活动。
你需要告诉小红,在满减后,他实际需要支付的价格。
第一行,一个整数 n(1≤n≤105),表示小红购买的物品数。
接下来n行,每行两个整数,第一个整数 p(1≤p≤104) 表示物品的价格,第二个整数 q(0≤q≤1) 表示该物品是否参加活动,p=1 表示参加,p=0 表示不参加
输入
5
114 0
514 1
998 0
244 1
353 1
输出
2073
说明
参加满减活动的物品的总价格为 514+244+353=1111
每 300 减 50 ,一共可以减 150 ,故最后总价格为 (114+998) + (1111-150)=2073