COCI '21 Contest 4 #2 Autobus

View as PDF

Submit solution


Points: 10 (partial)
Time limit: 1.0s
Memory limit: 512M

Problem type

In a country there are n cities. The cities are connected by m bus routes, where the ith route starts in city ai, ends in city bi and takes ti minutes.

Ema loves to travel, but doesn't like transferring between buses. On her trip she wants to use at most k different bus routes.

Help her answer q questions of the form "What is the shortest travel time to get from city cj to city dj (using at most k different bus routes)?".

Input Specification

The first line contains two positive integers n and m (2n70,1m106), the number of cities and the number of bus routes.

The ith of the next m lines contains positive integers ai, bi, and ti (1ai,bin,1ti106), the terminal cities and the travel time of the ith bus route.

The next line contains two positive integers k and q (1k109,1qn2), the maximum number of used routes and the number of queries.

The jth of the next q lines contains positive integers cj and dj (1cj,djn), the cities from the jth query.

Output Specification

Print q lines. In the jth line, print the shortest travel time from the jth query, or -1 if there is no trip that satisfies the requirements.

Constraints

SubtaskPointsConstraints
115kn7
215k3
325kn
415No additional constraints.

Sample Input 1

Copy
4 7
1 2 1
1 4 10
2 3 1
2 4 5
3 2 2
3 4 1
4 3 2
1 3
1 4
4 2
3 3

Sample Output 1

Copy
10
-1
0

Explanation for Sample Output 1

The answer to the first query from each example is marked on the graph.

Sample Input 2

Copy
4 7
1 2 1
1 4 10
2 3 1
2 4 5
3 2 2
3 4 1
4 3 2
2 3
1 4
4 2
3 3

Sample Output 2

Copy
6
4
0

Sample Input 3

Copy
4 7
1 2 1
1 4 10
2 3 1
2 4 5
3 2 2
3 4 1
4 3 2
3 3
1 4
4 2
3 3

Sample Output 3

Copy
3
4
0

Comments

There are no comments at the moment.