链接: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; }