首页 > 其他分享 >P1909 [NOIP2016 普及组] 买铅笔

P1909 [NOIP2016 普及组] 买铅笔

时间:2023-06-22 15:33:38浏览次数:34  
标签:NOIP2016 P1909 包装 老师 30 样例 times 铅笔

[NOIP2016 普及组] 买铅笔

题目背景

NOIP2016 普及组 T1

题目描述

P 老师需要去商店买 $n$ 支铅笔作为小朋友们参加 NOIP 的礼物。她发现商店一共有 $3$ 种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起 见,P 老师决定只买同一种包装的铅笔。

商店不允许将铅笔的包装拆开,因此 P 老师可能需要购买超过 $n$ 支铅笔才够给小朋友们发礼物。

现在 P 老师想知道,在商店每种包装的数量都足够的情况下,要买够至少 $n$ 支铅笔最少需要花费多少钱。

输入格式

第一行包含一个正整数 $n$,表示需要的铅笔数量。

接下来三行,每行用 $2$ 个正整数描述一种包装的铅笔:其中第 $1$ 个整数表示这种包装内铅笔的数量,第 $2$ 个整数表示这种包装的价格。

保证所有的 $7$ 个数都是不超过 $10000$ 的正整数。

输出格式

$1$ 个整数,表示 P 老师最少需要花费的钱。

样例 #1

样例输入 #1

57
2 2
50 30
30 27

样例输出 #1

54

样例 #2

样例输入 #2

9998
128 233
128 2333
128 666

样例输出 #2

18407

样例 #3

样例输入 #3

9999
101 1111
1 9999
1111 9999

样例输出 #3

89991

提示

铅笔的三种包装分别是:

  • $2$ 支装,价格为 $2$;
  • $50$ 支装,价格为 $30$;
  • $30$ 支装,价格为 $27$。

P老师需要购买至少 $57$ 支铅笔。

如果她选择购买第一种包装,那么她需要购买 $29$ 份,共计 $2 \times 29 = 58$ 支,需要花费的钱为 $2 \times 29 = 58$。

实际上,P 老师会选择购买第三种包装,这样需要买 $2$ 份。虽然最后买到的铅笔数量更多了,为 $30 \times 2 = 60$ 支,但花费却减少为 $27 \times 2 = 54$,比第一种少。

对于第二种包装,虽然每支铅笔的价格是最低的,但要够发必须买 $2$ 份,实际的花费达到了 $30 \times 2 = 60$,因此 P 老师也不会选择。

所以最后输出的答案是 $54$。

【数据范围】

保证所有的 $7$ 个数都是不超过 $10000$ 的正整数。

【子任务】

子任务会给出部分测试数据的特点。如果你在解决题目中遇到了困难,可以尝试只解决一部分测试数据。

每个测试点的数据规模及特点如下表:

上表中“整倍数”的意义为:若为 $K$,表示对应数据所需要的铅笔数量 $n$ —定是每种包装铅笔数量的整倍数(这意味着一定可以不用多买铅笔)。

于 2022 年 12 月 23 日新加 Hack 数据三组。

代码

#include<bits/stdc++.h>
using namespace std;
int n,a,b,ans=0x3f3f3f3f;
int main()
{
    scanf("%d",&n);
    for(int i=0;i<3;i++)
    {
        scanf("%d%d",&a,&b);
        int m=n/a+(n%a!=0);
        m*=b;
        ans=min(ans,m);
    }
    cout<<ans;
    return 0;
}

标签:NOIP2016,P1909,包装,老师,30,样例,times,铅笔
From: https://www.cnblogs.com/suxiyiwang/p/17497891.html

相关文章

  • 算法刷题记录:P1563 [NOIP2016 提高组] 玩具谜题
    题目链接https://www.luogu.com.cn/problem/P1563题目分析既然是环形问题,那么直接取模来进行模拟即可,注意顺时针和逆时针顺时针的箭头是向左拐,是+,逆时针的箭头是向右拐,是-AC代码//Problem:P1563[NOIP2016提高组]玩具谜题//Contest:Luogu//URL:https://www.luo......
  • NOIP2016普及组试题题解
    1.买铅笔代码:#include<bits/stdc++.h>#definelllonglongusingnamespacestd;intn,ans=1e9,a,b;intmain(){ cin>>n; for(inti=1;i<=3;i++){ cin>>a>>b; ans=min(ans,int(ceil(n*1.0/a)*b)); } cout<<ans; return0;}......
  • [NOIP2016 普及组] 买铅笔
    [NOIP2016普及组]买铅笔题目背景NOIP2016普及组T1题目描述P老师需要去商店买\(n\)支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有\(3\)种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起见,P老师决定只买同一种包装的铅笔。商店不......
  • [NOIP2016 普及组] 海港
    题目背景NOIP2016普及组T3题目描述小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客。小K对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况;对于第\(i\)艘到达的船,他记录了这艘船到达的时间\(t_i\)(......
  • [NOIP2016提高组] 愤怒的小鸟
    洛谷传送门AcWing解题思路\(\qquad\)这题可以转化为一个重复覆盖问题,由于三个点可以确定一条抛物线,而这里的抛物线必定经过原点,所以可以用不是原点的两个点确定一条抛物......
  • P1600 [NOIP2016 提高组] 天天爱跑步
    //题目大意:有一棵树,在每个节点上会在Pi时刻出现一个观察员,在该时刻观察员如果观察到路过的运动员,那么该观察员的分数加1;//现在给定m条路径的起点与终点,每个运......
  • [NOIP2016 普及组] 回文日期
    [NOIP2016普及组]回文日期题目背景NOIP2016普及组T2题目描述在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。牛牛习惯用\(8\)位数字表示......
  • 用AI把好朋友的照片转换为铅笔素描 —— 【2020之U2Net】
    前言????过年回家、小学同学、初中同学、高中同学、一帮子好友、不乏各种曾经的暗恋对象、就止不住的开始了双向奔赴、聚餐、high歌、火锅嗨起来????咱也不能空着手不......
  • NOIP2016Day2T2-蚯蚓
    B:蚯蚓时间限制:1Sec  内存限制:512MB题目描述本题中,我们将用符号LcJ表示对c向下取整,例如:L3.0J=L3.1J......
  • NOIP2016Day1T3-换教室
    概率dp经典题。3、换教室时间限制:1Sec内存限制:512MB题目描述在可以选择的课程中,有2n节课程安排在n个时间段上。在第i(1≤i≤n)个时间段上,两节内容相同的课程同时......