本蒟蒻表示你的代码我没太看懂……
提供一种思路:可以用struct数组存储每种铅笔所需要的钱(钱数用while循环所需盒数乘以每一盒的钱数),排序一下就可以了
代码如下:
```cpp
#include<bits/stdc++.h>
using namespace std;
int n;
struct node{
int num,mon,sm=0,sn=0;
}a[4];
bool cmp(node x,node y){
return x.sm<y.sm;
}
int main(){
cin>>n;
for(int i=1;i<=3;i++) cin>>a[i].num>>a[i].mon;
for(int i=1;i<=3;i++){
while(a[i].sn<n){
a[i].sm+=a[i].mon;
a[i].sn+=a[i].num;
}
}
sort(a+1,a+3+1,cmp);
cout<<a[1].sm;
return 0;
}
```
by songyuexuan @ 2022-09-25 12:02:08
@[___wa___](/user/736212)
注意数组范围
您数组只定义了下标0,1
使用时却用了0,1,2
把数组空间开大点就好了
by sb_sb_sb @ 2022-09-25 13:06:28
谢谢各位dalao
by ___wa___ @ 2022-09-25 13:55:03