[2016年NOIP普及组] 买铅笔

#include<iostream>
int main()
{
    int num;
    std::cin>>num;
    int mt=99999999;
    for(int i=0;i<3;i++)
    {
        int price,number;
        std::cin>>number>>price;
        std::div_t calc=div(num,number);
        int take=calc.quot;
        if(calc.rem)//进一法
            take++;
        mt=std::min(mt,std::multiplies<int>()(take,price));
    }
    std::cout<<mt;
}
买铅笔的数目由进一法确定:若有余数(std::div_t::rem),买商(std::div_t::quot)加一支,若没余数即整除,按商买。买铅笔的数目乘以(std::multiplies)铅笔的价格即花费,(按题目)取最小值(std::min)
posted @ 2022-08-21 20:20  nichengmeibeiyong  阅读(114)  评论(0编辑  收藏  举报