e,建议你分步来,不要想一下就出结果
```
#include<iostream>
using namespace std;
int main(){
int monn[3];//马内不会写(((
int n;
cin>>n;
for(int i=1;i<=3;i++)//输入3组数据
{
int a,b;
cin>>a>>b;//数量、价格
if(n%a==0)//整除
{
monn[i-1]=n/a*b;//这组铅笔要花多少钱
}
else
{
monn[i-1]=(n/a+1)*b;//不能整除,要花多少钱
}
}
cout<<min(min(monn[0],monn[1]),monn[2]);//选最少的
}
```
by Max6700 @ 2023-06-18 12:22:32
(这个做法比某些题解的```while```3次要节省一点点时间
by Max6700 @ 2023-06-18 12:24:22
@[Hiscraft](/user/775209)
```cpp
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
ll n,a1,a2,b1,b2,c1,c2,ans1,ans2,ans3;
int main(){
cin>>n>>a1>>a2>>b1>>b2>>c1>>c2;
ans1=ceil(n*1.0/a1)*a2;
ans2=ceil(n*1.0/b1)*b2;
ans3=ceil(n*1.0/c1)*c2;
cout<<min(ans1,min(ans2,ans3));
return 0;
}
```
求关
by zhouzihe @ 2023-06-18 12:42:08
~~好像是因为浮点数的科学计数法~~,可以强转long long
```cpp
cout<<(long long)min(ceil(n*1.0/a)*aa,min(ceil(n*1.0/b)*bb,ceil(n*1.0/c)*cc));
```
by Hiscraft @ 2023-06-18 13:50:30