CSU 1559
Time Limit:1000MS     Memory Limit:131072KB     64bit IO Format:%lld & %llu

 

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
2
3 3
5 3
10 6
20 8
5 10 20
3 3
5 5
10 10
20 20
6 10 20

Sample Output

18
1 题解:先排序然后暴力 ,struct,建立两个数组a,b,通过b进行从大到小排序,外卖价格从小到大排序,取最大优惠。

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;

 struct t    
{
  int a,b;//两个数组
}

sale[110];

bool cmp(t x,t y)
{
  return x.b>y.b;
}

int price[110];

int main()
{
  int t;
  scanf("%d",&t);
while(t--)
{
  int n,m;
  scanf("%d%d",&n,&m);

for(int i=0;i<n;i++)
  scanf("%d%d",&sale[i].a,&sale[i].b);

int before=0; //统计没优惠时的总金额
 for(int i=0;i<m;i++)
{
  scanf("%d",&price[i]);
  before+=price[i];
}

 sort(sale,sale+n,cmp);
 sort(price,price+m);

int after=0; //统计优惠的总金额
  for(int i=m-1;i>=0;i--)
{
  for(int j=0;j<n;j++)
  if(price[i]>=sale[j].a) { after+=sale[j].b; break; } // k是一个小小的优化
}

  printf("%d\n",before-after);
}
}

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct t
{
int a,b;
}
sale[]; bool cmp(t x,t y)
{
return x.b>y.b;
} int price[]; int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d%d",&n,&m); for(int i=;i<n;i++)
scanf("%d%d",&sale[i].a,&sale[i].b); int before=; //统计没优惠时的总钱数
for(int i=;i<m;i++)
{
scanf("%d",&price[i]);
before+=price[i];
} sort(sale,sale+n,cmp);
sort(price,price+m); int after=; //统计能优惠的总金额 for(int i=m-;i>=;i--)
{
for(int j=;j<n;j++)
if(price[i]>=sale[j].a) { after+=sale[j].b; break; }
} printf("%d\n",before-after);
}
}

外卖的撕‘哔’大战 CSU 1559的更多相关文章

  1. CSU 1559 订外卖

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82842#problem/E 订外卖 解题思路:定义两个数组,a[]表示满A,b ...

  2. 途牛与十八好汉撕X又言和 到底想干啥?

    到底想干啥?" title="途牛与十八好汉撕X又言和 到底想干啥?"> 天下大势,合久必分,分久必合.很多看起来热闹哄哄的"劳燕分飞"事件,最 ...

  3. Python解决八皇后问题

    最近看Python看得都不用tab键了,哈哈.今天看了一个经典问题--八皇后问题,说实话,以前学C.C++的时候有这个问题,但是当时不爱学,没搞会,后来算法课上又碰到,只是学会了思想,应该是学回溯法的 ...

  4. Python----递归------Eight Queens 八皇后问题

    递归思想是算法编程中的重要思想. 作为初学者,对递归编程表示很蒙逼,每次遇到需要递归的问题,心里就有一万头草泥马飞过~~~~~~(此处略去一万头草泥马) 在B站看数据结构与算法的视频时,视频中给了两个 ...

  5. 下一个风口?迷你KTV能变成“绿巨人”吗

    近段时间,在全国各地多个商场.大学城等繁华地点,一种全新娱乐方式--迷你KTV变得火爆起来.这种仅能容纳两三人,以单首.时段等进行计费,且价格不低的点唱新模式,正成为投资者眼中的"新宠&qu ...

  6. 阿里为何要用独立APP挖微信微商墙角?

    ​ 微商,这个被很多人看来是逃离马云魔咒,和淘宝抗衡的电商模式,自诞生到狂飙就伴随着种种争议.由于传播效率极强,在很长时间里也一直是不少人口中津津乐道的神话故事和救市良方.以至于,淘宝推出各种手段封杀 ...

  7. CSU 1650 影魔大战

    简单题. 首先判断两个圆是否都与坐标轴相交,有一个不相交直接输出NO 剩下的情况都是相交的.让算一算四个交点.最后只有四种情况了. #include<cstdio> #include< ...

  8. csu 10月 月赛 A 题

    Welcome to CSU OnlineJudge Problem A: Small change Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 15 ...

  9. 关于ACM,关于CSU

    原文地址:http://tieba.baidu.com/p/2432943599 前言: 即将进入研二,ACM的事情也渐渐远去,记忆终将模糊,但那段奋斗永远让人热血沸腾.开个贴讲讲ACM与中南的故事, ...

随机推荐

  1. Android为应用在桌面添加一个快捷方式

    Intent addIntent=new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); Parcelable ic ...

  2. poj2393

    题目大意: 奶酪工厂 奶牛买了一个奶酪工厂制作全世界有名的Yucky酸奶,在接下来的N周(1<=N<=10000),牛奶的价格和工作将会受到波动例如他将花费C_i (1 <= C_i ...

  3. [置顶] 【Git入门之十四】Git GUI

    原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12374495 文章都快写完了,Git GUI才浮出水面,很多人要骂我,这么方 ...

  4. Spring入门一

    一 简介 1.Spring为企业应用的开发提供了一个轻量级的解决方案,该解决方案包括:基于依赖注入的核心机制.基于AOP的声明式事务管理.与多种持久层技术 的整合,以及优秀的Web MVC框架等等.可 ...

  5. Sublime编辑器 前端 必备插件

    sublime编辑器前端必备插件 下面这一行是Package Control包安装,它是sublime的插件包管理器.新安装的sublime 里没有Package Control,按一下ctrl+~, ...

  6. 卸载Symantec Endpoint Protection, 无需password的卸载方法

    近期一次偶然的机会, 被人装了个Symantec在电脑上, 搞得各种报警, 验证, 烦死. 然后就自然而然的想卸载掉这个该死的杀毒软件, 没想到这个杀毒软件竟然还是个流氓杀毒软件, 卸载还须要pass ...

  7. 多版本号并发控制(MVCC)在分布式系统中的应用

    QQ群:289150599 问题 近期项目中遇到了一个分布式系统的并发控制问题.该问题能够抽象为:某分布式系统由一个数据中心D和若干业务处理中心L1,L2 ... Ln组成:D本质上是一个key-va ...

  8. GCOV 使用用例

      1.GCOV查看arm-linux代码覆盖率 一.           关于gcov工具 gcov伴随gcc 发布.gcc编译加入-fprofile-arcs -ftest-coverage 参数 ...

  9. yii phpexcel <转>

    原文详情参见 这里 1.下载phpexcel,将压缩包中的classes复制到protected/extensions下并修改为PHPExcel. 2.修改YII配置文件config/main.php ...

  10. Verilog之event的用法

    编写verilog的testbench时,可使用event变量触发事件. event变量声明为: event var; event触发为: ->var; 捕获触发为: @(var); 在mode ...