美团2021校招笔试-编程题(通用编程试题,第1场)[编程题]小美的外卖节省钱计划

小美的外卖节省钱计划

2020年的618不再仅仅是购物节啦,同时也是美团外卖节,小美早早就准备好了各种满减代金券,为了最大程度的“省钱”,当然是选择把这些代金券都用光啦!

   这些代金券都有一个使用门槛,即满多少元的订单才可以使用。如果使用一个二元组<x,y>表示一张代金券,即需要满x元才能优惠y元,那么需要注意的是,并不是所有代金券的x都是大于等于y的,良心美团也会推出一些x<y的代金券。如果x<y,例如x=1,y=2,则购买1元商品的情况下无需付款,不会退款给用户。

请问小美如果想用完这些代金券,在保证总付款金额最小的情况下,她最多购买多少钱的外卖呢?

说明:

1.一个订单只能用一张代金券。

2.同时满足总付款金额最少,且购买的外卖价值最高,例如两个优惠完都是1元的外卖,一个原价3元另一个原价4元,则选四元的。

3.由于美团商户很多,所以对于任何一个价格我们都可以找到至少一种商品购买。

输入描述:
输入第一行仅包含一个正整数n,表示小美拥有的代金券数量。(1<=n<=50000)

接下来有n行,每行有两个整数x和y,表示一张代金券需要订单金额满x元可以使用,能够优惠y元。(1<=x<=10000,1<=y<=10000)

输出描述:
输出仅包含两个正整数,中间用空格隔开,分别表示小美购买的外卖价值和她的实际付款金额。

输入例子1:
3
5 3
10 5
1 2

输出例子1:
17 7

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,x,y;
	cin>>n;
	int ans1=0;
	int ans2=0;
	for(int i=0;i<n;i++){
		cin>>x>>y;
		if(x<y){
			ans1+=y;
		}
		else{
			ans1+=x;
			ans2+=(x-y);
		}
	}
	cout<<ans1<<" "<<ans2<<endl;
}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值