Submit | All submissions | Best solutions | Back to list |
ADATRIP - Ada and Trip |
Ada the Ladybug loves trips. She travels around world taking photos and souvenirs. This week she went to Buganda. Common Tourist would surely travel around main city and some conurbations, but Ada has different politics. She wants to go as far as possible (because photos from outlying places are much more valuable).
Problem is, that Buganda is very large so she can barely guess such places. Luckily, you are around so she asked you for help. Can you tell her, how far and how many cities are most distant (if the shortest path is used)?
Input
The first line will contain three integers 1 ≤ N ≤ 5*105, 0 ≤ M ≤ 106, Q, the number of cities in Buganda, the number of roads and number of queries (possible arrival cities).
Then M lines follow, with three integers 0 ≤ A, B < N, 0 ≤ L ≤ 10, A, B are cities, which the (bidirectional) road connects and L is length of the road.
Afterward, Q lines follow, each with number 0 ≤ qi < N, meaning the city of arrival.
You are assured that max(N,M)*Q will be always lesser/equal than 107
Gentle warning: Since we are in real world and not in some "graph theory", multiedges and self-edges are completely valid!
Output
For each query print two numbers: The distance of most distant place(s) and number of such places.
Example Input
10 10 10 1 1 1 1 2 1 1 2 3 3 1 1 5 4 10 8 5 10 5 6 5 6 7 3 6 9 3 9 7 4 0 1 2 3 4 5 6 7 8 9
Example Output
0 1 1 2 2 1 2 1 20 1 10 2 15 2 18 2 20 1 18 2
Most distant cities (explanation)
0 2 3 3 2 8 4 8 4 8 4 8 4 4 8
Added by: | Morass |
Date: | 2017-02-09 |
Time limit: | 5.5s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 GOSU |
hide comments
|
|||||||
2018-05-24 15:17:02
I'm getting tle on 15th test case. Don't know why? :( |
|||||||
2018-01-04 17:31:25 sharif ullah
easy one....normal dijikstra works! no need optimized dijikstra for small weight,,,, *** node numbering start from '0 '(mind it) !!! Last edit: 2018-01-04 17:31:46 |
|||||||
2017-12-12 14:56:11
ledacthuongvq |
|||||||
2017-09-12 00:39:42
@Min_25: You are right - thanx so much. I've fixed it! Have nice day ^_^ |
|||||||
2017-09-10 09:17:28 Min_25
@morass Some of input files contain multiple cases. (i.e. while (~scanf("%d %d %d", &N, &M, &Q)) { ... } will not work.) Could you please fix them ? |
|||||||
2017-06-29 10:52:37
Those trying with Dijkstra: Hint1: Maximum L is only 10 :p Hint2: http://www.geeksforgeeks.org/dials-algorithm-optimized-dijkstra-for-small-range-weights/ |
|||||||
2017-03-18 14:39:40 dnverma
after 15 its give internal error why? |
|||||||
2017-03-14 14:41:29
@danish4200: The test-case you TLE is "just slow" (so the program won't cycle anywhere). So well - it seems the algorithm is slow - so you either have to improve it (make your Dijkstra faster - which is possible) /or/ you have to think up new approach (which was intended but both are possible - {by checking what is difference in statement and in "general" Dijkstra}) GL & Have Nice Day ^_^ |
|||||||
2017-03-11 19:58:33
getting tle..don't know why! |
|||||||
2017-02-27 15:38:29
final AC with 2 WA |