我在try 代码力问题1921-C.问题是,当我把一个单一的测试用例,它的工作很好,但如果我把所有的测试用例在一起,结果的变化.

对于测试用例

12 621526648 2585904 3566299
51789 61859 71998 73401 247675 298086 606959 663464 735972 806043 806459 919683

输出应该是"是",但当包括这个在内的多个输入一起给出时,它会显示"否".

我的代码是

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int test = sc.nextInt();

        for (int t_ = 0; t_ < test; t_++) {
            long n = sc.nextLong();
            long f = sc.nextLong();
            long a = sc.nextLong();
            long b = sc.nextLong();
            long now = 0L;

            for (int i = 0; i < n; i++){
                long m = sc.nextLong();
                long min = Math.min(a*(m - now), b);
                f = f - min;
                if(f <= 0) {
                    System.out.println("No");
                    break;
                }
                now = m;
            }
            if(f > 0) {
                System.out.println("Yes");
            }
        }
    }
}

推荐答案

错误实际上并不是出现在这个测试用例中,而是出现在它之前的测试用例中(在problem page号上列出的示例输入中).正是这个错误导致您的程序曲解最后一个测试用例,并给出错误的答案作为副作用.

问题出在这部分代码中:

if(f <= 0) {
    System.out.println("No");
    break;
}

有什么问题吗?问题是,如果我们打印"No"并中断循环,并且您不在测试用例的最后一个数据点上,则您的代码将为forget to read the rest of the test case.

在问题页面上的示例输入中,在读取三个数据点中的两个之后,倒数第二个测试用例的结果变得明显.这意味着您不会将最后一个数据点10读取为数据点,而是读取为下一个测试用例的长度.实际长度12被读取为f的值,依此类推,整个测试用例会错位并给出错误的结果.

Java相关问答推荐

如何计算内循环的时间复杂度?

Java:根据4象限中添加的行数均匀分布行的公式

Select 按位运算序列

Apache POI:使用反射获取zoom 级别

流迭代列表<;对象>;上的NoSuchElementException

对运行在GraalVM-21上的JavaFX应用程序使用分代ZGC会警告不支持JVMCI,为什么?

基于调车场算法的科学计算器

将带有js文件的 bootstrap 程序导入maven项目时出错

如何解释Java中for-each循环中对Iterable的强制转换方法引用?

将PNG转换为位图自定义十六进制字符串

Java中不兼容的泛型类型

Android应用程序为错误的显示类型 Select 尺寸文件

S数学.exp的相同错误保证也适用于StrictMath.exp吗?

深度优先搜索实现:算法只向右搜索

泛型与泛型问题的完美解决方案?

在ECLIPSE上的M1 Pro上运行JavaFX的问题

H2数据库仅支持%1个结果集?

如何修复Spring Boot应用程序中的RestDocumentationGenerationException:java.io.FileNotFoundException:/curl-request.adoc(只读文件系统)?

ControlsFX RangeSlider在方向垂直时滞后

在JPanel上使用GridBagLayout并将JButton放在里面时出现问题