add solution for hw3:4142 & tests
Some checks failed
Fast Reverse Tests / test (push) Failing after 15s
Reverse Tests / test (push) Successful in 9s
Sum Tests / test (push) Successful in 10s

This commit is contained in:
2026-01-30 23:58:25 +05:00
parent 4488a76813
commit 4be68698dd
2 changed files with 68 additions and 1 deletions

View File

@@ -19,4 +19,4 @@ jobs:
- name: Run Reverse tests - name: Run Reverse tests
run: | run: |
java -ea -cp out reverse.ReverseTest Base 3233 3435 3637 3839 java -ea -cp out reverse.ReverseTest Base 3233 3435 3637 3839 4142

View File

@@ -0,0 +1,67 @@
package reverse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
public class ReverseAvg {
public static void main(String[] args) throws IOException {
FastScanner sc = new FastScanner();
int[][] lines = new int[8][];
int linesCount = 0;
while (sc.hasNextLine()) {
int[] line = new int[8];
int count = 0;
while (sc.hasNextInt()) {
if (count >= line.length) {
line = Arrays.copyOf(line, line.length * 2);
}
line[count++] = sc.nextInt();
}
sc.nextLine();
line = Arrays.copyOf(line, count);
if (linesCount >= lines.length) {
lines = Arrays.copyOf(lines, lines.length * 2);
}
lines[linesCount++] = line;
}
printResult(linesCount, lines);
}
private static void printResult(int linesCount, int[][] lines) {
PrintWriter out = new PrintWriter(System.out);
for (int i = 0; i < linesCount; i++) {
int[] line = lines[i];
for (int j = 0; j < line.length; j++) {
if (j > 0) out.print(" ");
long sum = 0;
long count = 0;
for (int m = 0; m < lines[i].length; m++) {
sum += lines[i][m];
count++;
}
for (int k = 0; k < linesCount; k++) {
if (k != i && lines[k].length > j) {
sum += lines[k][j];
count++;
}
}
out.print(sum / count);
}
out.println();
}
out.flush();
}
}