CSU 1559
来源:互联网 发布:淘宝用语大全 编辑:程序博客网 时间:2024/05/02 02:57
Description
“订外卖就上XXX,满X减Y,满X减Y...”这样的声音老回荡在我们耳旁。发传单,拉条幅的宣传手段也屡见不鲜。外卖的撕‘哔’大战充满血雨腥风,不过作为消费者,我们的问题是:“已知N种类似满X减Y的优惠,请问你想点M次外卖,最少出多少钱呢?”。(P.S:各优惠不能叠加,外卖不能拼单拆单。)
Input
多组数据,第一行有一个整数T,表示有T组数据。(T<=100)
以下每组数据第一行有两个整数N和M,表示外卖网站的优惠种数和你想点的外卖个数。(1<=N,M<=100)
然后接下来N行,每行两个整数ai,bi,表示一种优惠为满ai元可减bi元。(ai>=bi)
最后一行是M个整数,表示你每次点的外卖的价格。
所有的数据不会超过int。
Output
每组数据输出一行,为一个整数,是你在所有外卖上的花销。
Sample Input
23 35 310 620 85 10 203 35 510 1020 206 10 20
Sample Output
181
题意:
给定你要购买外卖的价格,问你怎么买才最优惠。
思路:每件外卖Mi 都遍历 找一次 ai,bi (1<=i<=n) 找到后把Mi - bi 累加就是答案
代码:
#include<iostream>#include<algorithm>using namespace std;int const maxn=101;int a[maxn][2];int b[maxn];int main(){ int T; cin>>T; while(T--) { int N,M,sum=0; cin>>N>>M; for(int i=0; i<N; i++) for(int j=0; j<2; j++) cin>>a[i][j]; for(int i=0; i<M; i++) cin>>b[i]; for(int i=0; i<M; i++) { int t=1000,x=0; for(int j=0; j<N; j++) { if(b[i]>=a[j][0]) { x=b[i]-a[j][1]; if(x<t)t=x; } } if(t==1000) sum+=b[i]; else sum+=t; } cout<<sum<<endl; } return 0;}
0 0
- CSU 1559
- CSU
- CSU
- CSU
- CSU
- CSU
- CSU
- CSU
- CSU
- CSU
- CSU
- CSU
- CSU
- CSU
- CSU
- CSU
- CSU
- CSU
- Amber14在Centos6.6下的安装
- Android学习之 Manifest中meta-data扩展元素数据的配置与获取
- Windows下安装Django
- 常用结构体
- POJ 1519 && HDU 1013 Digital Roots(数论)
- CSU 1559
- makefile的VPATH和vpath
- 日经社説 20150717 新競技場の見直しは当然だ
- 获取两个日期之间的间隔天数
- 介绍数种病毒样本分析格式归纳分析策略
- 【Android Studio快捷键】之导入相应包声明(import packages)
- iOS开发-Day4-C的复习
- 静态内部类、静态变量的加载次数-理解静态内部类实现线程安全的单例模式
- 日经社説 20150717 本音の安保論議で理解深める努力を