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通过类对象的方式实现JSON数据的解析

    1.通过主Activity的Button按钮实现数据的解析 public class MainActivity extends Activity { //定义一个包含Json格式的字符对象 priva ...

  2. Codeforces Round #259 (Div. 2) D. Little Pony and Harmony Chest 状压DP

    D. Little Pony and Harmony Chest   Princess Twilight went to Celestia and Luna's old castle to resea ...

  3. 用数组实现栈demo

    package cn.aust.zyw.demo; import java.util.Iterator; /** * Created by zyw on 2016/2/19. * 用数组实现栈 */ ...

  4. UVa1453或La4728 凸包+枚举(或旋转卡壳)

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  5. C# Eval在aspx页面中的用法及作用

    Eval( " ")和Bind( " ") 这两种一个单向绑定,一个双向绑定,bind是双向绑定,但需数据源支持 ASP.NET 2.0改善了模板中的数据绑定操 ...

  6. java编译期优化与执行期优化技术浅析

    java语言的"编译期"是一段不确定的过程.由于它可能指的是前端编译器把java文件转变成class字节码文件的过程,也可能指的是虚拟机后端执行期间编译器(JIT)把字节码转变成机 ...

  7. QML官方系列教程——QML Applications

    附网址:http://qt-project.org/doc/qt-5/qmlapplications.html 假设你对Qt的官方demo感兴趣,能够參考本博客的另一个系列Qt5官方demo解析集 每 ...

  8. Mono For Android离线激活

    我们之前创建过Mono For Android的开发环境,但是使用一段时间后就说明证书过期,那如何破解呢? 但我说的这个也就只能使用免费的证书. 首先下载免费的证书,monoandroid.licx, ...

  9. 第一篇:K-近邻分类算法原理分析与代码实现

    前言 本文介绍机器学习分类算法中的K-近邻算法并给出伪代码与Python代码实现. 算法原理 首先获取训练集中与目标对象距离最近的k个对象,然后再获取这k个对象的分类标签,求出其中出现频数最大的标签. ...

  10. navicat导入mysql数据库sql时报错或数据不完全问题

    错误详情:[Err] [Imp] 2006 - MySQL server has gone away 或无提示错误,但是导入数据明显缺少字段和数据 找到服务器上的MYSQL安装目录下的my.ini文件 ...