配鑰匙 “東信杯”廣西大學第一屆程式設計競賽(同步賽)
阿新 • • 發佈:2018-12-09
連結:https://ac.nowcoder.com/acm/contest/283/G
來源:牛客網
題解:關鍵在能多配,其實也沒啥,把所有情況都列出來,求最小值就ok,一道水題,我是來混分的qwq.
程式碼:
#include <iostream> #include <bits/stdc++.h> using namespace std; typedef long long ll; int main(){ ll t; //cout<<ceil((double)5/2)<<endl; cin>>t; while(t--){ ll n,m,a,b; cin>>n>>m>>a>>b; ll ans=(n/m)*b; ll temp=n%m; ans+=temp*a; ans=min(ans,a*n); ans=min(ans,(ll)ceil((double)n/m)*b); cout<<(ll)ans<<endl; } return 0; }
題目描述
小姐姐想要配 n 把鑰匙,她走過開鎖鋪問老闆價錢,老闆是這麼說的:
小姐姐想知道完成配n把鑰匙的任務最少需要花費多少錢
輸入描述:
題目有多組測試資料。第一行輸入一個整數T(組數少於100組),表示測試資料組數,對於接下來每組測試資料:
每組測試資料輸入只有一行,分別為4個整數,表示n、m、A、B。
輸出描述:
對於每組測試資料:
在一行內輸出一個整數,表示答案
示例1
輸入
1
5 2 2 3
輸出
8