6没过

P1909 [NOIP2016 普及组] 买铅笔

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


|