javagoogle-code

Getting sample failed in Google Kick Start 2020 Round A


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

Here Is the Description

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).

Note: Unlike previous editions, in Kick Start 2020, all test sets are visible verdict test sets, meaning you receive instant feedback upon submission.

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));
        }

    }

}

Solution

  • In the output, you are supposed to use "Case #%d: %d" and not "Case #%d :%d". Be carfeul!