arbore

Time limit: 0.03s Memory limit: 4MB Input: arbore.in Output: arbore.out

Se dă un arbore format din nn noduri numerotate de la 11 la nn. Rădăcina este nodul numerotat cu 11 și fiecare nod are asociat un număr natural nenul.

Cerință

Să se selecteze din arborele iniţial un subgraf conex pentru care suma valorilor asociate nodurilor este egală cu un număr natural kk dat. Un subgraf este graful din care se elimină noduri împreună cu muchiile aferente.

Date de intrare

Fişierul de intrare arbore.in, are următoarea structură:

  • pe prima linie sunt scrise numerele nn şi kk;
  • pe cea de-a doua linie este scrisă valoarea asociată nodului 11 (rădăcina arborelui);
  • pe cea de-a treia linie sunt scrise două numere, primul reprezentând nodul părinte al nodului 22, iar al doilea reprezentând valoarea asociată nodului 22;
  • pe cea de-a patra linie sunt scrise două numere, primul reprezentând nodul părinte al nodului 33, iar al doilea reprezentând valoarea asociată nodului 33;
  • ...
  • pe linia n+1n+1 sunt scrise două numere, primul reprezentând nodul părinte al nodului nn, iar al doilea reprezentând valoarea asociată nodului nn.

Date de ieşire

Ieşirea se va face în fişierul arbore.out:

  • dacă nu există soluţie se va afişa doar numărul 1-1 pe prima linie;
  • dacă există soluţie se vor afişa nodurile ce formează un subgraf conex care respectă cerinţa problemei (câte un singur nod pe fiecare linie).

Restricţii și precizări

  • 1n1001 \le n \le 100
  • 1k1 0001 \le k \le 1\ 000
  • Valoarea asociată unui nod este un număr din intervalul [1,1 000][1, 1\ 000].

Exemplu

arbore.in

10 29
30
1 7
1 22
2 5
2 10
4 1
4 2
5 25
5 2
5 4

arbore.out

2
4
5
6
9
10

Explicație

Log in or sign up to be able to send submissions!