其实min函数还有更简便的写法:
min(x1,min(x2,x3);
这样可以不用函数
by gzqYES @ 2023-10-26 21:20:37
@[gzqgzq666](/user/1057445) 貌似不对,错误应该还是在ceil上
by shabi45 @ 2023-10-26 21:29:50
@[shabi45](/user/1012444) 是的,所以我改进了一下做出了这道题
首先我先说这里面错的:最好是用long long,头文件推荐bits/stdc++.h
ceil在这道题是致命弱点,比如#6就是这个原因
ok,贴代码
------------
```cpp
#include <bits/stdc++.h>
using namespace std;
long long a,b,c,d,e,f,g,x1,x2,x3;
int main(){
cin>>a>>b>>c>>d>>e>>f>>g;
if(a%b==0) x1=a/b*c; else x1=(a/b+1)*c;
if(a%d==0) x2=a/d*e; else x2=(a/d+1)*e;
if(a%f==0) x3=a/f*g; else x3=(a/f+1)*g;
cout<<min(x1,min(x2,x3))<<endl;
return 0;
}
```
by gzqYES @ 2023-10-26 21:41:13
@[gzqgzq666](/user/1057445) 只需要特判一下就ok了
by gzqYES @ 2023-10-26 21:42:01
@[gzqgzq666](/user/1057445) 明白了,所以为啥用ceil是错误呢?还是说ceil有什么要注意的地方呢?
by fenrir_chen @ 2023-10-26 22:04:10
@[a1820740377](/user/1169141) 对不起,昨晚没看到你的消息,其实用ceil也没什么问题,只不过在除的时候要加个特舒判段,就像我用floor也加了个特判一样
by gzqYES @ 2023-10-27 13:07:07
@[gzqgzq666](/user/1057445) 手动给赞
by shabi45 @ 2023-10-28 08:17:22