链接:https://ac.nowcoder.com/acm/contest/7612/A
来源:牛客网
思路:先考虑活动优惠,b=n/(k+1),最多使用b次优惠,最多花b*k*x元+剩下地商品在使用优惠和不使用优惠活动所花地钱取最小值就行
来源:牛客网
题目描述
超市进行了买 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(1≤n,x≤1000,1≤k≤100)
输出描述:
对于每组数据输出一行表示答案。
示例1
输入
3 3 2 1 10 3 4 5 3 2
输出
2 32 8
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;
}

京公网安备 11010502036488号