這是一道稍微仔細想想就可以做出來的簡單題,而我wa了兩次,這也是把它寫上來的原因,只是因為我沒有認真想,還是不夠仔細啊,還是很馬虎啊,不能慌張,得仔細讀題,慢慢想題。
思路:
一共只有幾種情況:1全部用單價p買;2全部用套裝q買;3先用套裝買,剩下的用單價p買
注:不必判斷先用單價p再用套裝(如果先用p的話就證明單價比套裝更劃算(買相同數量所需要的話費))
貼代碼:
#include#include #include #include using namespace std; int main() { int T,n,m,p,q; scanf(%d,&T); while(T --) { scanf(%d%d%d%d,&n,&m,&p,&q); int ans,ans1,ans2,ans3; ans1 = p*n; if(n%m==0) ans2 = n/m*q; else ans2 = (n/m+1)*q; ans3 = n/m*q + n%m*p; ans = min(ans1,min(ans2,ans3)); printf(%d ,ans); } return 0; }