描述
新年快到了,小蓝 打算给他的好朋友们发贺年卡,而且他已经选好了自己要购买的贺卡的样式。俗话说得好,货比三家,小蓝 来到商店,看了各个商铺这种贺卡的价钱。不仅如此,小蓝 还记住了每个商铺的存货量。已知 小蓝 打算购买 m 张贺卡,问她最少花多少钱。
输入描述
第一行两个整数m和n。其中m表示要购买的贺卡的数量,n 表示商铺的个数。
以下n行,每行两个整数,分别表示该商铺这种贺卡的单价和存货量。
输出描述
仅一个数,表示 小蓝 花的最少钱数。
用例输入 1
10 4 4 3 6 2 8 10 3 6
用例输出 1
36
#include<bits/stdc++.h>
using namespace std;
struct dp{
int dj,hl;
};
dp a[1005];
bool cmp(dp a,dp b){
return a.dj<b.dj;
}
int m,n,p,z;
int main(){
cin>>m>>n;
for(int i=0;i<n;i++){
cin>>a[i].dj>>a[i].hl;
}
sort(a,a+n,cmp);
while(m!=0){
z+=a[p].dj;
a[p].hl--;
if(a[p].hl==0){
p++;
}
m--;
}
cout<<z;
return 0;
}
记得点赞关注收藏哦~