zoukankan      html  css  js  c++  java
  • NOIP2016普及组第一题——买铅笔

    题目描述

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

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

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

    输入输出格式

    输入格式:
    输入的第一行包含一个正整数n,表示需要的铅笔数量。

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

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

    输出格式:
    输出一行一个整数,表示P老师最少需要花费的钱。

    输入输出样例

    输入样例#1:
    57
    2 2
    50 30
    30 27
    输出样例#1:
    54
    输入样例#2:
    9998
    128 233
    128 2333
    128 666
    输出样例#2:
    18407
    输入样例#3:
    9999
    101 1111
    1 9999
    1111 9999
    输出样例#3:
    89991
    说明

    铅笔的三种包装分别是:

    •2支装,价格为2;

    •50支装,价格为30;

    •30支装,价格为27。

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

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

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

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

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

    【子任务】

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

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


    这题的想法就是 (将需要的铅笔数/每份的铅笔的支数)* 每份铅笔的价钱

    这里有一个易错点,如果这份铅笔的个数不是需要的铅笔数的因数的话就要将 div 后的数+1。

    很多人在这里栽跟头。最后要将所需钱数的最小值输出出来,在这里我用ans存放。


    代码如下:

    var    n,i,x,y:longint;
           l,ans:int64;
    begin
      assign(input,'pencil.in');
      assign(output,'pencil.out');
      reset(input);
      rewrite(output);
      readln(n);
      ans:=maxlongint;
      for i:=1 to 3 do
        begin
          readln(x,y);
          if n mod x=0 then l:=(n div x)*y
                       else l:=(n div x+1)*y;
          if l<ans then ans:=l;
        end;
      write(ans);
      close(input);
      close(output);
    end.
  • 相关阅读:
    无限维
    黎曼流形
    why we need virtual key word
    TOJ 4119 Split Equally
    TOJ 4003 Next Permutation
    TOJ 4002 Palindrome Generator
    TOJ 2749 Absent Substrings
    TOJ 2641 Gene
    TOJ 2861 Octal Fractions
    TOJ 4394 Rebuild Road
  • 原文地址:https://www.cnblogs.com/Comfortable/p/8412480.html
Copyright © 2011-2022 走看看