在Google Kick Start 2020 Round A中获取样本失败

时间:2020-08-26 06:22:23

标签: java google-code

我开始通过Google Kick Start测试自己的技能,并选择一个过去的问题以查看其工作原理,然后陷入困境。

这是Google Kick Start Round A 2020 Program:Allocation的我的Java代码 我已经通过了所有测试用例,并自行进行了测试,但是当我将代码提交给Google Kick Start竞赛时,我得到了 Sample Failed:WA 我不知道这些问题有什么问题...请帮助我

此处是说明

问题

有N栋房屋待售。第i座房子要花艾美金购买。您的预算预算为B美元。

您最多可以购买多少间房屋? 输入

输入的第一行给出测试用例的数量,T。每个测试用例都从包含两个整数N和B的一行开始。第二行包含N个整数。第i个整数是Ai,即第i个房屋的成本。 输出

对于每个测试用例,输出包含案例号x的一行:y,其中x是测试用例编号(从1开始),y是您可以购买的最大房屋数量。 限制

时间限制:每个测试集15秒。 内存限制:1GB。 1≤T≤100。 1≤B≤10 ^ 5。 对于所有i,1≤Ai≤1000。 测试集1

1≤N≤100。 测试集2

1≤N≤10 ^ 5。 样本

输入

输出

3 4 100 20 90 40 90 4 50 30 30 10 10 3 300 999999999

案例1:2 案例2:3 情况3:0

在示例案例1中,您的预算为100美元。您可以以20 + 40 = 60美元的价格购买第一和第三座房屋。 在示例案例2中,您的预算为50美元。您可以以30 + 10 + 10 = 50美元的价格购买第一,第三和第四座房屋。 在示例案例3中,您的预算为300美元。您无法购买任何房屋(因此答案为0)。

注意:与以前的版本不同,在Kick Start 2020中,所有测试集都是可见的判决测试集,这意味着您提交后会立即收到反馈。

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

    }

}

1 个答案:

答案 0 :(得分:2)

在输出中,应该使用“案例#%d:%d”而不是“案例#%d:%d”。 小心!