QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#114. Pembangunan Jalan Raya

Statistics

Terdapat $N$ kota di Kerajaan JOI, yang diberi nomor dari $1$ hingga $N$. Kota $1$ adalah ibu kota. Setiap kota memiliki nilai yang disebut tingkat keramaian, dan nilai awal tingkat keramaian kota $i$ ($1 \le i \le N$) adalah $C_i$.

Jalan di Kerajaan JOI menghubungkan dua kota berbeda secara dua arah. Pada awalnya, tidak ada jalan di Kerajaan JOI. Kamu telah merencanakan $N-1$ pembangunan jalan. Pembangunan ke-$j$ ($1 \le j \le N-1$) direncanakan dilakukan sebagai berikut.

  • Dua kota, $A_j$ dan $B_j$, ditentukan sedemikian sehingga kota $A_j$ dapat dicapai dari kota $1$, sedangkan kota $B_j$ tidak dapat dicapai dari kota $1$, hanya dengan menggunakan jalan yang telah dibangun saat itu.

  • Kamu membangun jalan yang menghubungkan kota $A_j$ dan kota $B_j$. Biaya pembangunan ini adalah banyaknya pasangan kota $(s,t)$ yang memenuhi kondisi berikut:

    Kota $s$ dan kota $t$ berada pada jalur terpendek antara kota $1$ dan kota $A_j$; ketika bergerak dari kota $1$ menuju kota $A_j$, kota $s$ dicapai sebelum kota $t$; dan tingkat keramaian kota $s$ lebih besar secara ketat daripada tingkat keramaian kota $t$.

    Di sini, kota-kota pada jalur antara kota $1$ dan kota $A_j$ mencakup kota $1$ dan kota $A_j$. Perhatikan bahwa jalur terpendek antara kota $1$ dan kota $A_j$ bersifat unik.

  • Tingkat keramaian semua kota pada jalur antara kota $1$ dan kota $A_j$ berubah menjadi tingkat keramaian kota $B_j$.

Kamu ingin mengetahui biaya setiap pembangunan.

Tugas

Diberikan data kota dan pembangunan jalan, tulislah program yang menghitung biaya setiap pembangunan.

Masukan

Baca data berikut dari masukan standar.

  • Baris pertama masukan berisi sebuah bilangan bulat $N$. Ini berarti terdapat $N$ kota di Kerajaan JOI.
  • Baris kedua masukan berisi $N$ bilangan bulat $C_1,C_2,\ldots,C_N$ yang dipisahkan oleh spasi. Ini berarti nilai awal tingkat keramaian kota $i$ ($1 \le i \le N$) adalah $C_i$.
  • Baris ke-$j$ ($1 \le j \le N-1$) dari $N-1$ baris berikutnya berisi dua bilangan bulat $A_j,B_j$ yang dipisahkan oleh spasi. Ini berarti kota $A_j$ dan kota $B_j$ ditentukan untuk pembangunan jalan ke-$j$.

Keluaran

Tuliskan $N-1$ baris ke keluaran standar. Baris ke-$j$ ($1 \le j \le N-1$) keluaran berisi biaya pembangunan jalan ke-$j$.

Batasan

Semua data masukan memenuhi kondisi berikut.

  • $1 \le N \le 100\,000$.
  • $1 \le C_i \le 1\,000\,000\,000$ ($1 \le i \le N$).
  • $1 \le A_j \le N$ ($1 \le j \le N-1$).
  • $1 \le B_j \le N$ ($1 \le j \le N-1$).
  • Dengan menggunakan jalan yang telah dibangun sebelum pembangunan ke-$j$, kota $A_j$ dapat dicapai dari kota $1$, sedangkan kota $B_j$ tidak dapat dicapai dari kota $1$ ($1 \le j \le N-1$).

Subsoal

Terdapat 3 subsoal. Skor dan batasan tambahan setiap subsoal adalah sebagai berikut:

Subsoal 1 [7 poin]

  • $N \le 500$.

Subsoal 2 [9 poin]

  • $N \le 4000$.

Subsoal 3 [84 poin]

Tidak ada batasan tambahan.

Contoh

Masukan 1

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

Keluaran 1

0
0
0
2

Penjelasan

Pada Contoh Masukan 1, pembangunan dilakukan sebagai berikut:

  • Pada pembangunan pertama, tidak ada pasangan $(s,t)$ yang memenuhi kondisi, sehingga biayanya $0$. Jalan yang menghubungkan kota $1$ dan kota $2$ dibangun, dan tingkat keramaian kota $1$ berubah menjadi $2$.
  • Pada pembangunan kedua, juga tidak ada pasangan $(s,t)$ yang memenuhi kondisi, sehingga biayanya $0$. Jalan yang menghubungkan kota $2$ dan kota $3$ dibangun, dan tingkat keramaian kota $1$ serta kota $2$ berubah menjadi $3$.
  • Pada pembangunan ketiga, juga tidak ada pasangan $(s,t)$ yang memenuhi kondisi, sehingga biayanya $0$. Jalan yang menghubungkan kota $2$ dan kota $4$ dibangun, dan tingkat keramaian kota $1$ serta kota $2$ berubah menjadi $4$.
  • Pada pembangunan keempat, dua pasangan $(s,t)=(1,3),(2,3)$ memenuhi kondisi, sehingga biayanya $2$. Jalan yang menghubungkan kota $3$ dan kota $5$ dibangun, dan tingkat keramaian kota $1$, kota $2$, serta kota $3$ berubah menjadi $5$.

Masukan 2

10
1 7 3 4 8 6 2 9 10 5
1 2
1 3
2 4
3 5
2 6
3 7
4 8
5 9
6 10

Keluaran 2

0
0
0
1
1
0
1
2
3

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.