Chuyện là hôm qua em lên CodeChef luyện công, mọi chuyện rất suông sẻ cho đến khi SUBMIT bài https://www.codechef.com/problems/SUMTRIAN, mặc dù chạy trong máy đúng nhưng khi submit cứ bị lỗi NZEC mãi em sửa cả ngày rồi vẫn ko đc, ức chế quá đi :beatbrick:
Đại ca nào rảnh nhìn hộ code em tý với :sosad:
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.BufferedOutputStream;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = new PrintWriter(new BufferedOutputStream(System.out));
int t = Integer.parseInt(br.readLine());
// reusable dynamic programming table
int[][] arr = new int[100][100];
/*// init borders, doesn't require in Java
for (int i = 0; i < 99; ++i) {
arr*[0] = arr*[i + 1] = 0;
}*/
String s;
for (int i = 0; i < t; ++i) {
int n = Integer.parseInt(br.readLine());
arr[1][1] = Integer.parseInt(br.readLine());
for (int j = 2; j < n; ++j) {
s = br.readLine();
for (int k = 1; k <= j; ++k) {
int temp = Integer.parseInt(s.split(" ")[k - 1]);
if (temp + arr[j - 1][k - 1] > temp + arr[j - 1][k]) {
arr[j][k] = temp + arr[j - 1][k - 1];
}
else {
arr[j][k] = temp + arr[j - 1][k];
}
}
}
s = br.readLine();
int max = 0;
for (int k = 1; k <= n; ++k) {
int temp = Integer.parseInt(s.split(" ")[k - 1]);
if (temp + arr[n - 1][k - 1] > temp + arr[n - 1][k]) {
arr[n][k] = temp + arr[n - 1][k - 1];
}
else {
arr[n][k] = temp + arr[n - 1][k];
}
if (arr[n][k] > max) {
max = arr[n][k];
}
}
pw.println(max);
// print out dynamic programming table
/*for (int j = 0; j <= n; ++j) {
for (int k = 0; k <= n; ++k) {
pw.print(arr[j][k] + " ");
}
pw.println();
}*/
}
br.close();
pw.close();
}
}