Codeforces673回合区域二第一题
Copy-paste
time limit per test1 second
memory limit per test256 megabytes
inputstandard input
outputstandard output
— Hey folks, how do you like this problem?
— That’ll do it.
BThero is a powerful magician. He has got n piles of candies, the i-th pile initially contains ai candies. BThero can cast a copy-paste spell as follows:
He chooses two piles (i,j) such that 1≤i,j≤n and i≠j.
All candies from pile i are copied into pile j. Formally, the operation aj:=aj+ai is performed.
BThero can cast this spell any number of times he wants to — but unfortunately, if some pile contains strictly more than k candies, he loses his magic power. What is the maximum number of times BThero can cast the spell without losing his power?
Input
The first line contains one integer T (1≤T≤500) — the number of test cases.
Each test case consists of two lines:
the first line contains two integers n and k (2≤n≤1000, 2≤k≤104);
the second line contains n integers a1, a2, …, an (1≤ai≤k).
It is guaranteed that the sum of n over all test cases does not exceed 1000, and the sum of k over all test cases does not exceed 104.
Output
For each test case, print one integer — the maximum number of times BThero can cast the spell without losing his magic power.
Example
input
3
2 2
1 1
3 5
1 2 3
3 7
3 2 2
output
1
5
4
Note
In the first test case we get either a=[1,2] or a=[2,1] after casting the spell for the first time, and it is impossible to cast it again.
理论上这应该算一个入门级的贪心题目……确实挺简单的。
#include <iostream>
#include <algorithm>
using namespace std;
int candies[2000];
int main()
{
int T;
int i, j;
cin >> T;
while (T--)
{
int ans = 0;
int n, k;
cin >> n >> k;
for (i = 1; i <= n; i++)
cin >> candies[i];
sort(candies + 1, candies + i);
j = 0;
for (i = 2; i <= n; i++)
{
if (k > candies[i])
ans += (k - candies[i]) / candies[1];
}
cout << ans << endl;
}
}
本文地址:https://blog.csdn.net/u014377763/article/details/109017913