1263: 零用钱

时间限制: 1 Sec   内存限制: 128 MB
提交: 2   解决: 2
[ 提交][ 状态][ 讨论版]

题目描述

作為创造產奶纪录的回报,Farmer  John决定开始每个星期给Bessie一点零花钱。 FJ有一些硬币,一共有N  (1  < =  N  < =  20)种不同的面额。每一个面额都能整除所有比它大的面额。 他想用给定的硬币的集合,每个星期至少给Bessie某个零花钱的数目C  (1  < =  C  < =  100000000)。请帮他计算他最多能支付多少个星期的零花钱。

输入

*  第一行:  两个由空格隔开的整数:  N  和  C *  第2到第N+1行:  每一行有两个整数表示一个面额的硬币:硬币面额V  (1  < =  V  < =  100,000,000)和Farmer  John拥有的该面额的硬币数B  (1  < =  B  < =                 1,000,000).

输出

*  第一行:  一个单独的整数,表示Farmer  John最多能给Bessie支付多少个星期至少為C的零用钱。

样例输入

3 6
10 1
1 100
5 120

样例输出

111

提示

FJ想要每个星期给Bessie六美分。他有100个1美分硬币,120个5美分硬币,和一个10美分硬币。 FJ可以在一个星期超额付给Bessie一个10美分硬币。然后接下来的10个星期每星期付给 Bessie两个5美分硬币。最后100个星期每星期付给Bessie一个1美分硬币跟一个5美分硬 币。

这道题不做任何解释,提示的已经很明显了

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct node
{
     int val;
     int num;
}a[100];
bool cmp(node x,node y)
{
     return x.val<y.val;
}
int main()
{
     int n,c;
     scanf ( "%d %d" ,&n,&c);
     for ( int i=1;i<=n;i++)
     scanf ( "%d %d" ,&a[i].val,&a[i].num);
     sort(a+1,a+n+1,cmp);
     int cnt=0;
     for (n;a[n].val>=c;cnt+=a[n].num,n--);
     int flag=1;
     while (flag)
     {
         flag=0;
         int t=c;
         for ( int i=n;i>=1;i--)
         {
             while (a[i].num>0&&t>=a[i].val)
             {
                 a[i].num--;
                 t-=a[i].val;
             }
         }
         for ( int i=1;i<=n;i++)
         {
             while (a[i].num>0&&t>0)
             {
                 a[i].num--;
                 t-=a[i].val;
             }
         }
         if (t<=0)
         cnt++,flag=1;
     }
     printf ( "%d\n" ,cnt);
     return 0;
} //AC

xynuoj 零用钱 酒馆浪人的博客相关推荐

  1. XYNUOJ +-字符串 酒馆浪人的博客

    1262: +-字符串 时间限制: 1 Sec   内存限制: 128 MB 提交: 3   解决: 3 [ 提交][ 状态][ 讨论版] 题目描述 Shiva得到了两个只有加号和减号的字符串,字串长 ...

  2. vector的日常笔记 酒馆浪人的博客

    1.vector是一种简单向量容器,不仅能像数组一样对元素随机访问,还可以在尾部插入元素,是一种简单高效的容器,完全可以代替数组. 2.创建对象(常用的有三种形式) 1>不指定容器个数,如定义一 ...

  3. 找零钱 xynuoj 酒馆浪人的博客

    1259: 找零钱 时间限制: 1 Sec   内存限制: 128 MB 提交: 10   解决: 10 [ 提交][ 状态][ 讨论版] 题目描述 小智去超市买东西,买了不超过一百块的东西.收银员想 ...

  4. xynuoj 灯光问题 酒馆浪人的博客

    问题 A: 灯光控制 时间限制: 1 Sec  内存限制: 128 MB 提交: 52  解决: 39 [ 提交][ 状态][ 讨论版] 题目描述 灯光师小明控制着各种晚会的各种大小灯,每次晚会小明都 ...

  5. xynuoj 捕杀恶龙 酒馆浪人的博客

    这是一道水题,只要把思路理清楚就好了 1257: 捕杀恶龙! 时间限制: 1 Sec   内存限制: 128 MB 提交: 10   解决: 7 [ 提交][ 状态][ 讨论版] 题目描述  动物园有 ...

  6. xynuoj 均分纸牌问题 酒馆浪人的博客

    1260: 均分纸牌 时间限制: 1 Sec   内存限制: 128 MB 提交: 6   解决: 4 [ 提交][ 状态][ 讨论版] 题目描述 有 N 堆纸牌,编号分别为 1,2,-, N.每堆上 ...

  7. xynuoj 可分割背包问题 酒馆浪人的博客

    此题是经典的贪心问题之一,记录下来,以便日后查阅 问题 C: 背包问题 时间限制: 3 Sec  内存限制: 128 MB 题目描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的总价值v ...

  8. xynuoj 磁带最大利用率问题 酒馆浪人的博客

    1253: 磁带最大利用率问题 时间限制: 1 Sec   内存限制: 128 MB 提交: 10   解决: 8 [ 提交][ 状态][ 讨论版] 题目描述 设有n个程序{1,2,...,n}要存放 ...

  9. xynuoj (贪心) 积木大赛 酒馆浪人的博客

    1264: 积木大赛 时间限制: 1 Sec   内存限制: 128 MB 提交: 8   解决: 6 [ 提交][ 状态][ 讨论版] 题目描述 春春幼儿园举办了一年一度的"积木大赛&qu ...

最新文章

  1. shell的一些常识
  2. 网络编程学习笔记(非阻塞读和写)
  3. C - 数据结构实验之查找三:树的种类统计(哈希树)
  4. 【ABAP】OO ALV 概述
  5. esp32摄像显示时间_科普系列 || 第一弹~基于ESP32的WiFi连接
  6. 微信公众号关注用户的信息拉取
  7. Flex 4 NativeWindow 中添加Flex组件(问题很多,尚不完善)
  8. SRL——无人机区域定位系统
  9. 每周荐书:云原生、Docker、Web算法(评论送书)
  10. broadcom linux网卡驱动下载,Broadcom Bcm57xx芯片网卡驱动Linux下安装方法
  11. 什么是常量,常量的类型有哪些?
  12. Golang学习——error错误处理浅谈
  13. ZHW_AI发布CSDN的模板和要求
  14. win10发现网络计算机,Win10如何启用网络发现?Win10启用网络发现的方法
  15. 鬼泣模仿秀01——Unity3D实现类似鬼泣的蓄力攻击(C#)
  16. 酷狗计算机自动续费,怎么取消酷狗自动续费-APP自动续费关不了?可在微信支付宝这样操作!...
  17. STM32---设备电子签名
  18. 如何使用Latex 写好一篇优秀的英文论文
  19. 智慧高速公路车路协同系统框架及要求第二部分
  20. (Android7.0)Android获取PID、TID、UID

热门文章

  1. 服务器执行到这里就停住不动了Initializing Spring root WebApplicationContext
  2. 建网站框架LAMP之:PHP的安装
  3. Java基础-各种集合类的特性简介
  4. 订单付款倒计时实现方案
  5. 远光九天云平台荣获“2021年度珠海市科技创新产品”
  6. Shell脚本——Expect
  7. 掌握如何利用Ubuntu ppa源,天下再没有难安装的Linux软件
  8. java三到四年面试题集合(自己经历以及收集)
  9. 开源操作系统OpenHarmony就要搭配开源图形驱动Mesa
  10. ECMAscript 学习笔记(02)