| Task: | Shortest Routes I |
| Sender: | aalto26fh_050 |
| Submission time: | 2026-10-01 12:21:47 +0300 |
| Language: | Java |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.09 s | details |
| #2 | ACCEPTED | 0.09 s | details |
| #3 | ACCEPTED | 0.08 s | details |
| #4 | ACCEPTED | 0.09 s | details |
| #5 | ACCEPTED | 0.08 s | details |
| #6 | WRONG ANSWER | 1.15 s | details |
| #7 | WRONG ANSWER | 1.12 s | details |
| #8 | WRONG ANSWER | 1.08 s | details |
| #9 | WRONG ANSWER | 1.13 s | details |
| #10 | WRONG ANSWER | 1.07 s | details |
| #11 | ACCEPTED | 0.97 s | details |
| #12 | WRONG ANSWER | 0.91 s | details |
| #13 | ACCEPTED | 0.09 s | details |
| #14 | ACCEPTED | 0.93 s | details |
| #15 | ACCEPTED | 0.96 s | details |
| #16 | ACCEPTED | 0.86 s | details |
| #17 | ACCEPTED | 0.93 s | details |
| #18 | ACCEPTED | 1.15 s | details |
Code
import java.io.IOException;
import java.io.StreamTokenizer;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashSet;
import java.util.PriorityQueue;
import java.io.BufferedReader;
import java.io.InputStreamReader;
class Node {
public int id, price;
public Node(int id, int price) {
this.id = id;
this.price = price;
}
@Override
public String toString() {
return String.format("Node(%d, %d)", id, price);
}
}
class Edge {
public int from, to, length;
public Edge(int from, int to, int length) {
this.from = from;
this.to = to;
this.length = length;
}
}
public class ShortestRoutesI {
public static void main(String[] args) throws IOException {
StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
in.nextToken();
int n = (int) in.nval;
in.nextToken();
int m = (int) in.nval;
ArrayList<ArrayList<Edge>> adj = new ArrayList<>();
adj.add(new ArrayList<>());
for (int i = 0; i < n; i++)
adj.add(new ArrayList<>());
for (int i = 0; i < m; i++) {
in.nextToken();
int a = (int) in.nval;
in.nextToken();
int b = (int) in.nval;
in.nextToken();
int c = (int) in.nval;
adj.get(a).add(new Edge(a, b, c));
}
PriorityQueue<Node> pq = new PriorityQueue<>(n, Comparator.comparingInt((Node node) -> node.price));
pq.offer(new Node(1, 0));
int[] dist = new int[n];
for (int i = 0; i < dist.length; i++)
dist[i] = Integer.MAX_VALUE;
HashSet<Integer> visited = new HashSet<>();
while (!pq.isEmpty() && visited.size() < n) {
Node current = pq.poll();
if (visited.contains(current.id))
continue;
visited.add(current.id);
dist[current.id - 1] = current.price;
for (Edge edge : adj.get(current.id)) {
if (current.price + edge.length < dist[edge.to - 1])
pq.offer(new Node(edge.to, current.price + edge.length));
}
}
for (int d : dist)
System.out.print(d + " ");
}
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 10 20 8 5 1 9 10 2 7 9 8 9 8 8 ... |
| correct output |
|---|
| 0 9 11 20 13 14 19 29 27 29 |
| user output |
|---|
| 0 9 11 20 13 14 19 29 27 29 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 10 20 5 6 4 5 1 7 7 4 4 7 8 1 ... |
| correct output |
|---|
| 0 7 9 17 15 17 21 22 25 30 |
| user output |
|---|
| 0 7 9 17 15 17 21 22 25 30 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 10 20 1 4 1 4 2 1 9 10 1 1 2 4 ... |
| correct output |
|---|
| 0 2 11 1 2 7 16 18 12 13 |
| user output |
|---|
| 0 2 11 1 2 7 16 18 12 13 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 10 20 6 3 5 7 5 8 5 1 8 8 9 5 ... |
| correct output |
|---|
| 0 5 9 18 22 10 14 23 27 36 |
| user output |
|---|
| 0 5 9 18 22 10 14 23 27 36 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 10 20 8 9 3 2 3 8 10 5 3 2 5 3 ... |
| correct output |
|---|
| 0 8 16 18 11 17 24 23 16 26 |
| user output |
|---|
| 0 8 16 18 11 17 24 23 16 26 |
Test 6
Verdict: WRONG ANSWER
| input |
|---|
| 100000 200000 18000 18001 426710313 73018 73012 558438094 87726 87671 355171790 53170 53171 869493690 ... |
| correct output |
|---|
| 0 479659405 1165315262 1854343... |
| user output |
|---|
| 0 479659405 1165315262 1854343... |
Feedback: Incorrect character on line 1 col 35: expected "2003994862", got "1495292505"
Test 7
Verdict: WRONG ANSWER
| input |
|---|
| 100000 200000 26504 26450 258578924 49543 49544 28958186 75174 75175 89459846 39175 39228 119699475 ... |
| correct output |
|---|
| 0 655556128 1413395076 1814086... |
| user output |
|---|
| 0 655556128 1413395076 -105213... |
Feedback: Incorrect character on line 1 col 24: expected "1814086787", got "-105213264"
Test 8
Verdict: WRONG ANSWER
| input |
|---|
| 100000 200000 39477 39413 773046299 69758 69759 558754983 23279 23280 142570619 61416 61479 874921013 ... |
| correct output |
|---|
| 0 269736525 626115013 70199222... |
| user output |
|---|
| 0 269736525 626115013 70199222... |
Feedback: Incorrect character on line 1 col 55: expected "2030312494", got "595657980"
Test 9
Verdict: WRONG ANSWER
| input |
|---|
| 100000 200000 76662 76636 844365635 73339 73342 755006676 89878 89879 396562588 18801 18781 954807004 ... |
| correct output |
|---|
| 0 598585836 1267139909 1803859... |
| user output |
|---|
| 0 598585836 1267139909 7553080... |
Feedback: Incorrect character on line 1 col 24: expected "1803859312", got "755308013"
Test 10
Verdict: WRONG ANSWER
| input |
|---|
| 100000 200000 11724 11725 818399968 33244 33197 722525474 65530 65531 483965413 62405 62454 199581867 ... |
| correct output |
|---|
| 0 387990617 441010945 92441292... |
| user output |
|---|
| 0 387990617 441010945 92441292... |
Feedback: Incorrect character on line 1 col 66: expected "2317579868", got "-1977387428"
Test 11
Verdict: ACCEPTED
| input |
|---|
| 100000 200000 1 2 1 1 3 1 1 4 1 1 5 1 ... |
| correct output |
|---|
| 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
| user output |
|---|
| 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
Test 12
Verdict: WRONG ANSWER
| input |
|---|
| 100000 99999 1 2 1000000000 2 3 1000000000 3 4 1000000000 4 5 1000000000 ... |
| correct output |
|---|
| 0 1000000000 2000000000 300000... |
| user output |
|---|
| 0 1000000000 2000000000 -12949... |
Feedback: Incorrect character on line 1 col 25: expected "3000000000", got "-1294967296"
Test 13
Verdict: ACCEPTED
| input |
|---|
| 1 1 1 1 1 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 99999 149997 1 2 1 2 3 1 3 4 1 4 5 1 ... |
| correct output |
|---|
| 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 ... |
| user output |
|---|
| 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 ... |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 99997 149994 1 3 3 3 5 3 5 7 3 7 9 3 ... |
| correct output |
|---|
| 0 1 2 3 4 5 6 7 8 9 10 11 12 1... |
| user output |
|---|
| 0 1 2 3 4 5 6 7 8 9 10 11 12 1... |
Test 16
Verdict: ACCEPTED
| input |
|---|
| 60003 120000 1 2 30010 1 3 30010 1 4 30010 1 5 30010 ... |
| correct output |
|---|
| 0 30010 30010 30010 30010 3001... |
| user output |
|---|
| 0 30010 30010 30010 30010 3001... |
Test 17
Verdict: ACCEPTED
| input |
|---|
| 60003 120000 1 2 30010 1 3 30010 1 4 30010 1 5 30010 ... |
| correct output |
|---|
| 0 30010 30010 30010 30010 3001... |
| user output |
|---|
| 0 30010 30010 30010 30010 3001... |
Test 18
Verdict: ACCEPTED
| input |
|---|
| 100000 149997 1 50000 99997 1 49999 99995 1 49998 99993 1 49997 99991 ... |
| correct output |
|---|
| 0 1 3 5 7 9 11 13 15 17 19 21 ... |
| user output |
|---|
| 0 1 3 5 7 9 11 13 15 17 19 21 ... |
