I was started testing my skills through google kick start and pick a past problem to see how it work and then I get stuck at a point.
Here is My java code for Google Kick Start Round A 2020 Program: Allocation I have passed all test cases and test it by my own self but when I submit my code to google kick start competition I got Sample Failed:WA I dont what is Wrong with these problem...Please Help Me Out
Problem
There are N houses for sale. The i-th house costs Ai dollars to buy. You have a budget of B dollars to spend.
What is the maximum number of houses you can buy? Input
The first line of the input gives the number of test cases, T. T test cases follow. Each test case begins with a single line containing the two integers N and B. The second line contains N integers. The i-th integer is Ai, the cost of the i-th house. Output
For each test case, output one line containing Case #x: y, where x is the test case number (starting from 1) and y is the maximum number of houses you can buy. Limits
Time limit: 15 seconds per test set. Memory limit: 1GB. 1 ≤ T ≤ 100. 1 ≤ B ≤ 10^5. 1 ≤ Ai ≤ 1000, for all i. Test set 1
1 ≤ N ≤ 100. Test set 2
1 ≤ N ≤ 10^5. Sample
Input
Output
3 4 100 20 90 40 90 4 50 30 30 10 10 3 300 999 999 999
Case #1: 2 Case #2: 3 Case #3: 0
In Sample Case #1, you have a budget of 100 dollars. You can buy the 1st and 3rd houses for 20 + 40 = 60 dollars. In Sample Case #2, you have a budget of 50 dollars. You can buy the 1st, 3rd and 4th houses for 30 + 10 + 10 = 50 dollars. In Sample Case #3, you have a budget of 300 dollars. You cannot buy any houses (so the answer is 0).
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
int testCases = sc.nextInt();
int n;
double b;
int[] a;
int count;
for (int i = 1; i <= testCases; i++) {
n = sc.nextInt();
a = new int[n];
b = sc.nextDouble();
for (int j = 0; j < n; j++) {
a[j] = sc.nextInt();
}
Arrays.sort(a);
count = 0;
for (int j = 0; j < n; j++) {
b = b - a[j];
if (b < 0) {
break;
}
count++;
}
System.out.println(String.format("Case #%d :%d", i, count));
}
}
}
In the output, you are supposed to use "Case #%d: %d" and not "Case #%d :%d". Be carfeul!