# 蓝桥杯Candy Store

<p>问题描述
经营一家糖果店是非常困难的&#xff0c;你需要优化各种各样的东西。最近你在销售一种非常时髦的糖果&#xff0c;叫做Whizboppers。这种糖果变质非常迅速&#xff0c;所以&#xff1a;<br />
　　·你必须每天早上从供应商买来新的Whizboppers。<br />
　　·你必须用当天早上从供应商买来的盒子装着糖果出售。<br />
　　你可以从你的供应商处买来装有任意整数克糖果的盒子。<br />
　　每天有至多k位顾客到你的店里来。从第1个人开始&#xff0c;每个人会选择花费整数分的钱来买Whizboppers&#xff0c;钱数在1分到C分之间&#xff08;包含1分和C分&#xff09;。你打算以1分钱每克的价格出售&#xff1b;所以如果一个人想要花4分钱&#xff0c;你会给他恰好4克糖果。你可以给他1个4克的盒子&#xff0c;也可能是1个2克的盒子和2个1克的盒子。<br />
　　你最少需要买几个盒子才能保证&#xff0c;不管每个人想花多少钱买糖&#xff0c;你总是可以给他们对应质量的糖果&#xff1f;
<br />　　注意&#xff1a;当一个人选择自己想买多少糖果后&#xff0c;你知道之前的人已经买了多少糖&#xff0c;但不能预知之后的人打算买多少糖。<br />
　　举个例子&#xff0c;如果每天至多有2位顾客到你的店里&#xff0c;每个人至多花2分钱(k&#61;2,C&#61;2)&#xff0c;你可以从你的供应商买4个1克的盒子。但是你可以做的更好&#xff1a;只要买2个1克的盒子和1个2克的盒子&#xff0c;就可以满足你的顾客。如下所示&#xff1a;<br />
第一个人给第一个人的盒子第二个人给第二个人的盒子2分1 个 2克2分<br />
1分2 个 1克<br />
1 个 1克1分1 个 1克2分<br />
1分1 个 2克<br />
1 个 1克<br />　　不论第一个人怎么买&#xff0c;你都可以给他对应质量的盒子&#xff0c;同时保证第二个人也能拿到正确质量的糖果。所以对于k&#61;2,C&#61;2&#xff0c;你用3个盒子就可以满足任意的顾客需求。
输入格式
　　第一行一个整数T&#xff0c;表示询问数量。
　　接下来T行&#xff0c;每行包含两个整数k和C&#xff0c;分别表示最大人数和每个人花费的最多钱数。
输出格式
　　对于每一个询问&#xff0c;输出一行包含&#34;Case #x: y&#34;&#xff0c;x是询问编号&#xff08;从1开始标号&#xff09;&#xff0c;y是你每天最少需要的盒子数量。</p>


以下程序实现了这一功能，请你填补空白处的内容：

```cpp
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	int n, k, count = 1;
	long long c;
	cin >> n;
	while (n--)
	{
		cin >> k >> c;
		int num = k; 
		long long sum = k;
		for (long long i = 2; i <= c; i = sum / k + 1)
		{
			int t = num;
			________________;
		}
		cout << "Case #" << count++ <<": " << num << endl;
	}
	return 0;
}
```

## template

```cpp
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	int n, k, count = 1;
	long long c;
	cin >> n;
	while (n--)
	{
		cin >> k >> c;
		int num = k; 
		long long sum = k;
		for (long long i = 2; i <= c; i = sum / k + 1)
		{
			int t = num;
			num += ceil((k * i - sum) * 1.0 / i);
			sum += i * (num - t);
		}
		cout << "Case #" << count++ <<": " << num << endl;
	}
	return 0;
}
```

## 答案

```cpp
num += ceil((k * i - sum) * 1.0 / i);
sum += i * (num - t);
```

## 选项

### A

```cpp
num += ceil((k * i - sum) * 1.0 / i);
sum += i * (num + t);
```

### B

```cpp
num += ceil((k - sum) * 1.0 / i);
sum += i * (num - t);
```

### C

```cpp
num += ceil((k * (i - sum)) * 1.0 / i);
sum += i * (num + t);
```