卡卡西购买了一批图书后,非常的高兴,爸爸妈妈也表扬了他,称赞他把零
用钱用到了最需要使用的地方,但卡卡西发现如果再购买一些文具送给贫困山区
的小朋友们就更好了。第二天,卡卡西发动自己的小伙伴拿出他们的零用钱去购
买文具,文具以套为单位,按包装销售,每个包装中有数量不等的文具,而且价
格也不一样,卡卡西和小伙伴们只想购买一种包装的文具,商店不允许他们将包
装拆开,因此卡卡西有可能需要购买超过 n 套文具才行,在商店每种包装的数量
都足够的情况下,要买够至少 n 套文具最少需要花费多少钱。
输入:输入数据共 m 1 行。第一行有两个用空格分隔的正整数 m , n , m 表示包
装的数量, n 表示需要购买的套数。接下来的 m 行,每行有两个用空格分
隔的正整数 s1, s2 ,分别表示每一种包装中文具的数量和整包的价格。
输出:一个正整数,表示买够至少 n 套文具的最少花费。
样例:
输入:( cost.in )
3 60
3 5
16 20
31 35
输出:( cost .out )
70
样例说明:共 3 种包装,需要购买 60 套,如果选择 3 套装,需购买 20 个,总价
格 20*5=100 ,如果选择 16 套装,需购买 4 个,总价格 4*20=80 ,如果选择 31
套装,需购买 2 个,总价格 2*35=70 。
数据范围 :
1 ≤ m ≤ 1000 1 ≤ n , s1 , s2 ≤ 10000
#include<iostream>
using namespace std;
int main(){
int m,n;
cin>>m>>n;
int s1[m],s2[m];
int a[m];
for(int i=0;i<m;i ){
cin>>s1[i]>>s2[i];
}
for(int i=0;i<m;i ){
if(n%s1[i]==0){
a[i]=s2[i]*(n/s1[i]);
}else{
a[i]=s2[i]*(n/s1[i] 1);
}
}
int min=a[0];
for(int i=1;i<m;i ){
if(min>a[i]){
min=a[i];
}
}
cout<<min;
return 0;
}
————————————————
,