思路很简单,就是看q/m之后的平均价格和p比较大小。值得注意的是要
注意判断条件中是否取等。。。之前因为考虑不周WA了一发。。
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while (t--)
{
int n,m,p,q;
int w = 0;
scanf("%d %d %d %d",&n,&m,&p,&q);
if (n <= m)
{
w = min(p*n,q);
}
else
{
if (p <= q/m)
{
w = n * p;
}
else
{
int x = n / m * q;
int y = (n-n/m*m) * p;
int z = (n / m + 1) * q;
w = min(x+y,z);
}
}
printf("%d\n",w);
}
return 0;
}注意判断条件中是否取等。。。之前因为考虑不周WA了一发。。
本文讨论了通过比较算法计算的平均价格与特定价格之间的关系,提供了优化决策的数学方法。
901

被折叠的 条评论
为什么被折叠?



