[2016年NOIP普及组] 买铅笔

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

商店不允许将铅笔的包装拆开,因此P老师可能需要购买超过n支铅笔才够给小朋 友们发礼物。
现在P老师想知道,在商店每种包装的数量都足够的情况下,要买够至少n支铅笔最少需要花费多少钱。
输入
输入的第一行包含一个正整数n,表示需要的铅笔数量。
接下来三行,每行用两个正整数描述一种包装的铅笔:其中第一个整数表示这种 包装内铅笔的数量,第二个整数表示这种包装的价格。
保证所有的7个数都是不超过10000的正整数。
输出
输出一行一个整数,表示P老师最少需要花费的钱。
样例输入
57
2 2
50 30
30 27

样例输出
54

分析:循环三次,分别输入每种包装铅笔只数和价格,在计数器加到目标支数之前累加相应包装里的数量,同时累加钱数最后比较钱数,选择最低者。

#include<bits/stdc++.h>
using namespace std;
int n,z,q,x[3],pen[3];
int main()
{
cin>>n;
for(int i=0;i<=2;i++){
cin>>z>>q;
while(pen[i]<n)
{ pen[i]+=z;
x[i]+=q; }
}
sort(x,x+3);
cout<<x[0];
return 0;
}

posted @ 2022-08-13 10:06  slyphiette  阅读(153)  评论(0)    收藏  举报