题意:今天是BestCoder一周年纪念日. 比赛管理员Soda想要给每个参赛者准备一个纪念品. 商店里纪念品的单价是p元, 同时也可以花q元购买纪念品套装, 一个套装里有m个纪念品.今天总共有n个参赛者, Soda想要知道最少需要花多少钱才可以给每个人都准备一个纪念品. 思路:3种可能之一,要么不买套装,要么全买套装,要么留下一点点单独买其他买套装。
//#include <bits/stdc++.h>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <stack>
#include <queue>
#define LL long long
#define pii pair<int,int>
#define INF 0x7f7f7f7f
using namespace std;
const int N=; int main()
{
//freopen("input.txt", "r", stdin);
int n, m, t, p, q;
cin>>t;
while(t--)
{
scanf("%d%d%d%d",&n,&m,&p,&q);
int tmp=n/m*q + (n%m)*p;
int tmp2=min((n/m+)*q, tmp);
int ans=min(n*p,tmp2);
printf("%d\n", ans); }
return ;
}
AC代码