链接:https://ac.nowcoder.com/acm/contest/7612/A
来源:牛客网

题目描述

超市进行了买 k 送一的活动,商品的单价是 x 元,牛妹想至少买 n 件商品,
输出最少需要花费多少钱。

输入描述:

第一行一个整数 T<=100,表示 T 组数据。
接下来 T 行,每行 3 个整数  n,k,x(1≤n,x≤1000,1≤k≤100)n, k, x (1\leq n,x \leq 1000, 1\leq k \leq 100)n,k,x(1n,x1000,1k100) 
		

输出描述:

对于每组数据输出一行表示答案。
示例1

输入

3
3 2 1
10 3 4
5 3 2

输出

2
32
8
思路:先考虑活动优惠,b=n/(k+1),最多使用b次优惠,最多花b*k*x元+剩下地商品在使用优惠和不使用优惠活动所花地钱取最小值就行
AC代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n,k,x;
        scanf("%d%d%d",&n,&k,&x);
        int b=n/(k+1);
        printf("%d\n",b*x*k+min(x*(n-b*(k+1)),k*x));
    }
    return 0;
}