Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
WWO_02_03 - Prześlij wiadomość |
We wschodniej Bitocji wiadomości przesyłane pocztą eletroniczną dostarczane są do odbiorcy nawet po kilku dniach. Program wyznaczający serwery, przez które wiadomość musi przejść, jest bardzo niedoskonały. Twoim zadaniem jest napisanie ulepszonego programu, który wyznaczy najkrótszy czas dostarczenia wiadomości z zerwara A do zerwera B, następnie z B do C, C do D itd.
Wejście
W pierwszym wierszu dwie liczby V i E określające liczbę serwerów oraz liczbę połączeń między nimi (1 < V < 501, 0 < E < 100 000).
W kolejnych E wierszach po trzy liczby a, b i c definiujące połączenie między serwerami a i b oraz czas przesyłu wiadomości między nimi (0 < a, b <= V, 0 < c < 1000).
Następnie jedna liczba q określająca trasę danej wiadomości (nie większa niż milion).
Następnie q numerów serwerów, przez które musi przejść dana wiadomość.
Wyjście
Najkrótszy czas, jaki będzie potrzebny, aby przesłać wiadomość.
Przykład
Wejście: 5 6 1 2 1 1 5 2 5 3 3 3 1 7 2 3 5 3 4 2 3 1 4 2 Wyjście: 14
Dodane przez: | Marcin Kasprowicz |
Data dodania: | 2021-07-12 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |