求助!只过了#16#17#19!

P1909 [NOIP2016 普及组] 买铅笔

本蒟蒻表示你的代码我没太看懂…… 提供一种思路:可以用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


|