1. 程式人生 > >配鑰匙 “東信杯”廣西大學第一屆程式設計競賽(同步賽)

配鑰匙 “東信杯”廣西大學第一屆程式設計競賽(同步賽)

連結: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把鑰匙的任務最少需要花費多少錢

輸入描述:

 

題目有多組測試資料。第一行輸入一個整數T(組數少於100組),表示測試資料組數,對於接下來每組測試資料:

每組測試資料輸入只有一行,分別為4個整數,表示n、m、A、B。

輸出描述:

對於每組測試資料:

在一行內輸出一個整數,表示答案

 

示例1

輸入

複製

1
5 2 2 3

輸出

複製

8