CF1283B.Candies Division
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Santa has n candies and he wants to gift them to k kids. He wants to divide as many candies as possible between all k kids. Santa can't divide one candy into parts but he is allowed to not use some candies at all.
Suppose the kid who recieves the minimum number of candies has a candies and the kid who recieves the maximum number of candies has b candies. Then Santa will be satisfied, if the both conditions are met at the same time:
- b−a≤1 (it means b=a or b=a+1);
- the number of kids who has a+1 candies (note that a+1 not necessarily equals b) does not exceed ⌊2k⌋ (less than or equal to ⌊2k⌋).
⌊2k⌋ is k divided by 2 and rounded down to the nearest integer. For example, if k=5 then ⌊2k⌋=⌊25⌋=2.
Your task is to find the maximum number of candies Santa can give to kids so that he will be satisfied.
You have to answer t independent test cases.
圣诞老人有 n 颗糖果,他想将这些糖果分给 k 个孩子。他希望尽可能多地将糖果分发给全部 k 个孩子。圣诞老人不能把一颗糖果分割成若干部分,但他可以完全不使用某些糖果。
假设收到最少糖果的孩子得到了 a 颗糖果,而收到最多糖果的孩子得到了 b 颗糖果。当且仅当同时满足以下两个条件时,圣诞老人才会感到满意:
- b−a≤1(即 b=a 或 b=a+1);
- 得到 a+1 颗糖果的孩子人数(注意:a+1 不一定等于 b)不超过 ⌊2k⌋(即小于或等于 ⌊2k⌋)。
其中 ⌊2k⌋ 表示 k 除以 2 后向下取整(即舍去小数部分)。例如,若 k=5,则 ⌊2k⌋=⌊25⌋=2。
你的任务是求出圣诞老人在感到满意前提下,最多能分发给孩子们的糖果总数。
你需要回答 t 个相互独立的测试用例。
输入格式
The first line of the input contains one integer t (1≤t≤5⋅104) — the number of test cases.
The next t lines describe test cases. The i-th test case contains two integers n and k (1≤n,k≤109) — the number of candies and the number of kids.
输入的第一行包含一个整数 t(1≤t≤5⋅104)—— 测试用例的数量。
接下来的 t 行描述各个测试用例。第 i 个测试用例包含两个整数 n 和 k(1≤n,k≤109)—— 分别表示糖果的数量和小孩的数量。
输出格式
For each test case print the answer on it — the maximum number of candies Santa can give to kids so that he will be satisfied.
对于每个测试用例,输出该测试用例的答案——即圣诞老人能够分给孩子们的最多糖果数量,使得他感到满意。
输入输出样例
输入#1
5 5 2 19 4 12 7 6 2 100000 50010
输出#1
5 18 10 6 75015
说明/提示
In the first test case, Santa can give 3 and 2 candies to kids. There a=2,b=3,a+1=3.
In the second test case, Santa can give 5,5,4 and 4 candies. There a=4,b=5,a+1=5. The answer cannot be greater because then the number of kids with 5 candies will be 3.
In the third test case, Santa can distribute candies in the following way: [1,2,2,1,1,2,1]. There a=1,b=2,a+1=2. He cannot distribute two remaining candies in a way to be satisfied.
In the fourth test case, Santa can distribute candies in the following way: [3,3]. There a=3,b=3,a+1=4. Santa distributed all 6 candies.
在第一个测试用例中,圣诞老人可以分别给孩子们 3 颗和 2 颗糖果。此时 a=2,b=3,a+1=3。
在第二个测试用例中,圣诞老人可以分别给孩子们 5、5、4 和 4 颗糖果。此时 a=4,b=5,a+1=5。答案不可能更大,否则拥有 5 颗糖果的孩子人数将达到 3 人。
在第三个测试用例中,圣诞老人可以按如下方式分发糖果:[1,2,2,1,1,2,1]。此时 a=1,b=2,a+1=2。他无法以满足条件的方式分发剩余的两颗糖果。
在第四个测试用例中,圣诞老人可以按如下方式分发糖果:[3,3]。此时 a=3,b=3,a+1=4。圣诞老人已将全部 6 颗糖果分发完毕。
输入解题思路,AI测评打分。不知道怎么写?