和你差不多,但比你简单
```cpp
#include<iostream>
using namespace std;
int main()
{
int n,min1=100000001,a,b,s,i;
cin>>n;
for(i=1;i<=3;i++)
{
cin>>a>>b;
if(n%a==0)
s=n/a*b;
else s=(n/a+1)*b;
if(s<min1)
min1=s;
}
cout<<min1<<endl;
return 0;
}
```
by rxzfn @ 2017-03-26 17:30:33
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int need, a, b, money = 10000000000;
cin >> need;
for (int i = 1; i <= 3; i++)
{
cin >> a >> b;
int pencile = 0;
int m = 0;
while (pencile < need)
{
pencile += a;
m += b;
}
if (m < money)
{
money = m;
}
}
cout << money;
return 0;
}
原来还想排序但最后似乎不需要。
```
by 正式AFO @ 2017-05-01 14:00:38
```cpp
#include<iostream>
using namespace std;
int shu[10004],jia[10004];
int minn=1000000;
int main()
{
int n,num,pd[10004],tot=0;
cin>>n;
for(int i=1;i<=3;i++)
cin>>shu[i]>>jia[i];
for(int i=1;i<=3;i++)
{
pd[i]=n%shu[i];//判断
num=n/shu[i];//某种商品的数量
if(pd[i]>0)num+=1;//如果有余,再买一份
tot=jia[i]*num;
if(tot<minn)minn=tot;
}
cout<<minn<<endl;
return 0;
}
```
by puqy @ 2017-06-04 19:33:15
```cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d",&n);
int a=99999999;
for(int i=0;i<3;i++){
int s,j;
scanf("%d%d",&s,&j);
int need = n / s;
if(n%s != 0) need += 1;
int cost=need*j;
if(cost<a)a =cost;
}
printf("%d",a);
return 0;
}
```
by 头冷 @ 2017-07-11 10:53:14
```cpp
#include<iostream>
#include<algorithm>//后面要用的排序sort
#include<cstdlib>
#include<cstdio>
#include<string>
#include<ctime>
using namespace std;
int main()
{
int n,s[3],c[3],m[3]={0},a[3]={0};//s为数量,c为花费,m为最终钱数,a为模拟的铅笔数量
cin>>n;
cin>>s[0]>>c[0]>>s[1]>>c[1]>>s[2]>>c[2];
for(int i=0;i<3;i++)
{
while(a[i]<n)
{
a[i]+=s[i];
m[i]+=c[i];//一个个累加
}
}
sort(m+0,m+3);//从小到大排序
cout<<m[0];
return 0;
}
```
by puqy @ 2017-07-17 19:04:50