java语言进行代码运行,会出现 StackOverflowError 错误,尝试过设置:
java:
compile: >-
/usr/bin/bash -c "javac -d /w -encoding utf8 ./Main.java && jar cvf Main.jar
*.class >/dev/null"
code_file: Main.java
target: Main.jar
execute: /usr/bin/java -cp Main.jar Main
time_limit_rate: 2
compile_memory_limit: 1024
highlight: java astyle-java
monaco: java
display: Java
compile_time_limit: 30000
version: /usr/bin/javac -version
validAs:
ybtbas: java
srqc: java
atcoder: java
loj: java
bzoj: java
luogu: java/8
但最终在自测运行的时候,出现报错:
Runtime Error 686.462ms 90000KiB
ExitCode: 1
Exception in thread "main" java.lang.StackOverflowError
at Main.dfs(Main.java:26)
at Main.dfs(Main.java:26)
at Main.dfs(Main.java:26)
...
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
int n = scan.nextInt();
int[] coins = new int[n];
for (int i = 0; i < n; i++) {
coins[i] = scan.nextInt();
}
long[] memo = new long[n];
System.out.println(dfs(n - 1, memo, coins));
scan.close();
}
public static long dfs(int i, long[] memo, int[] coins) {
if (i < 0) return 0;
if (memo[i] != 0) return memo[i];
int max = 0;
long res = 0;
for (int j = i; j > i - 3 && j >= 0; j--) {
max = Math.max(coins[j], max);
res = Math.max(res, dfs(j - 1, memo, coins) + (long) max * (i - j + 1));
}
memo[i] = res;
return res;
}
}
自测数据:
自测数据.txt
hydro 自部署版本
Hydro v5.0.0-beta.8
java语言进行代码运行,会出现 StackOverflowError 错误,尝试过设置:
但最终在自测运行的时候,出现报错:
代码:
自测数据:
自测数据.txt
hydro 自部署版本
Hydro v5.0.0-beta.8