Submission #1148102

#TimeUsernameProblemLanguageResultExecution timeMemory
1148102humerez_sCoin Collecting (JOI19_ho_t4)Java
Compilation error
0 ms0 KiB
import java.util.*; public class Main { static int n; static List<Integer> xCoords = new ArrayList<>(); static List<Integer> yCoords = new ArrayList<>(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); int totalCoins = 2 * n; for (int i = 0; i < totalCoins; i++) { int x = sc.nextInt(); int y = sc.nextInt(); xCoords.add(x); yCoords.add(y); } // Ordenar para minimizar el movimiento Collections.sort(xCoords); Collections.sort(yCoords); // Generar posiciones objetivo List<Integer> targetX = new ArrayList<>(); List<Integer> targetY = new ArrayList<>(); for (int i = 1; i <= n; i++) { targetX.add(i); targetX.add(i); } for (int i = 1; i <= n; i++) { targetY.add(1); } for (int i = 1; i <= n; i++) { targetY.add(2); } // Verificar tamaño correcto if (targetX.size() != totalCoins || targetY.size() != totalCoins) { System.err.println("Error: Los tamaños de targetX o targetY no coinciden."); return; } // Aplicar DP con Knapsack 0/1 long result = calculateMinimumMoves(targetX, targetY); System.out.println(result); sc.close(); } private static long calculateMinimumMoves(List<Integer> targetX, List<Integer> targetY) { int size = xCoords.size(); long[][] dp = new long[size + 1][size + 1]; // Llenar DP con valores grandes (Infinity) for (int i = 0; i <= size; i++) { Arrays.fill(dp[i], Long.MAX_VALUE); } dp[0][0] = 0; // Caso base // Aplicar DP estilo Knapsack 0/1 sin repetición for (int i = 1; i <= size; i++) { for (int j = 1; j <= size; j++) { long moveCost = Math.abs(xCoords.get(i - 1) - targetX.get(j - 1)) + Math.abs(yCoords.get(i - 1) - targetY.get(j - 1)); if (dp[i - 1][j - 1] != Long.MAX_VALUE) { dp[i][j] = Math.min(dp[i - 1][j - 1] + moveCost, dp[i - 1][j]); } else { dp[i][j] = dp[i - 1][j]; } } } return dp[size][size]; } }

Compilation message (stderr)

joi2019_ho_t4.java:4: error: class Main is public, should be declared in a file named Main.java
public class Main {
       ^
1 error

=======