CSES - Datatähti 2024 alku - Laskettelukeskus
  • Language:
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Lumimyrsky on iskenyt laskettelukeskukseen ja rinteet kaipaavat pikaista aurausta.

Laskettelukeskus koostuu n rinteestä. Rinteet on yhdistetty toisiinsa yhteensä n-1 polulla siten, että rinne 1 on huipulla ja sieltä on alaspäin kulkeva reitti kaikille muille rinteille.

Lumiauralla voi kulkea rinteitä ja polkuja ainoastaan alaspäin ja aurata matkalle sattuvat rinteet. Jokaisesta rinteestä on tiedossa tarvittavien aurauskertojen määrä.

Lennätät helikopterilla lumiauroja vuoren huipulle. Mikä on pienin määrä lumiauroja, jolla kaikki rinteet saadaan aurattua?

Syöte

Ensimmäisellä rivillä on kokonaisluku n: rinteiden määrä.

Seuraa n-1 riviä lukuja a ja b: rinteeltä a on polku rinteelle b. Rinteet on numeroitu 1,2,\dots,n.

Viimeisellä rivillä on n lukua c_1, c_2, \dots, c_n: tarvittavien aurauskertojen määrä rinteille 1,2,\dots,n.

Tuloste

Tulosta yksi kokonaisluku: pienin tarvittava määrä lumiauroja.

Esimerkki

Syöte:

5
1 2
1 3
3 4
3 5
0 2 4 3 1

Tuloste:

6

Selitys: Laskettelukeskus on havainnollistettu kuvassa.

Jos tarvitset tarkempaa kuvausta kuvan sisällöstä, voit lähettää viestin järjestelmässä kohdassa Messages.

2 lumiauraa kulkee reitin (1,2), 3 lumiauraa reitin (1,3,4) ja 1 lumiaura reitin (1,3,5).

Osatehtävä 1 (53 pistettä)

  • 1 \le n \le 100
  • 0 \le c_i \le 100

Osatehtävä 2 (47 pistettä)

  • 1 \le n \le 100\,000
  • 0 \le c_i \le 10^9