Rezolvare PBinfo #3110

Decorative Icon Problema: genius / 3110

Decorative IconAutor: Darius

La grupa de excelență la care profesorul Genius predă sunt înscriși N elevi (reprezentați prin numere distincte de la 1 la N) care sunt sau nu prieteni. Pentru a face rezolvatul de probleme mai interesant, profesorul a inventat un joc: acesta alege elevul cu indicele K și îi spune enunțul unei probleme la care să se gândească și pe care să o spună mai departe tuturor prietenilor săi. Fiecare elev care află problema o va transmite în ziua următoare prietenilor săi care nu au aflat-o încă și tot așa, până când problema nu mai poate fi transmisă mai departe. Jocul e însă mai complex de atât: în ziua în care un elev află problema nivelul său de aprofundare a problemei este 0, în următoare zi nivelul de aprofundare este 1 și așa mai departe. În ziua X după aflarea problemei, un elev va ajunge la gradul X de aprofundare al acesteia. Profesorul Genius i-a anunțat pe elevi că aceștia se vor întâlni pentru a rezolva problema doar după ce toată lumea a aflat problema și toți elevii au ajuns la un nivel de aprofundare al problemei cel puțin P.

Cerința

Știind modul în care funcționează jocul, profesorul Genius vrea să calculeze după câte zile de la lansarea problemei se va întâlni cu elevii săi pentru a o rezolva.

Date de intrare

Fișierul de intrare genius.in conține următoarele informații:

  • pe prima linie se află două numere: N, numărul de elevi înscriși la grupa de excelență, și M, numărul relațiilor de prietenie;
  • pe următoarele M linii se află câte două numere A și B, acestea reprezentând o relație de prietenie (bidirecțională) între elevii desemnați de cele două numere;
  • pe următoarea linie se află K, indicele elevului căruia profesorul îi spune prima dată problema;
  • pe următoarea linie se află P, nivelul minim de aprofundare al problemei de către toți elevii, necesar pentru ca elevii să se întâlnească pentru aflarea rezolvării.

Date de ieșire

În fișierul genius.out se va afișa un singur număr natural, reprezentând numărul minim de zile după care elevii se vor întâlni cu profesorul Genius pentru rezolvarea problemei sau -1 dacă întâlnirea nu este posibilă în condițiile impuse de joc.

Restricții și precizări
  • 2 ≤ N ≤ 50.000
  • 1 ≤ M ≤ 100.000
  • 1 ≤ A, B ≤ N
  • 1 ≤ K ≤ N
  • 1 ≤ P ≤ 10.000.000
Exemplu:

genius.in

7 6
1 3
1 7
1 5
2 5
2 4
5 6
2
5

genius.out

8

Explicație

În ziua 0 elevul 2 află problema și are nivelul de aprofundare 0
În ziua 1 află problema elevii cu indicii 4 și 5
În ziua 2 află problema elevii cu indicii 1 și 6
În ziua 3 află problema elevii cu indicii 3 și 7
Au trecut 3 zile și pentru ca nivelul minim de aprofundare pentru oricare dintre elevi să fie 5, trebuie să mai treacă încă 5 zile

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate