QOJ.ac

QOJ

Time Limit: 7 s Memory Limit: 1024 MB Total points: 100

#6448. סלילת שבילים חדשים

Statistics

המדינה שלכם רכשה זה עתה שטח אדמה גדול ובתולי, ורוצה להפוך אותו לפארק טבע עם שבילי הליכה. בשטח יש $n$ מוקדי עניין שמבקרים עשויים לרצות ללכת אליהם, ומתוכם $k$ מיוחדים מאוד. המדינה רוצה לחבר את המקומות האלה בשבילי הליכה. יש $m$ שבילי הליכה מועמדים לבחירה, המחברים ישירות שני מוקדי עניין בעלויות שונות. בחירת השבילים כפופה לכמה אילוצים. ראשית, צריכה להיות בדיוק דרך אחת ללכת מכל מקום לכל מקום אחר. שנית, בדיוק $w$ מהשבילים חייבים לחבר ישירות מקום מיוחד עם מקום רגיל. כמובן, המדינה רוצה למזער את עלות סלילת השבילים האלה.

קלט

כל קלט יכיל מקרה בדיקה יחיד. שימו לב שהתוכנית שלכם עשויה להיות מופעלת פעמים אחדות על קלטים שונים. השורה הראשונה של הקלט תכיל ארבעה מספרים שלמים $n$, $m$, $k$ ו-$w$, כאשר $n$ ($2 \le n \le 2 \cdot 10^5$) הוא מספר המקומות, $m$ ($1 \le m \le 5 \cdot 10^5$) הוא מספר השבילים הישירים האפשריים בין מקומות, $k$ ($1 \le k < n$) הוא מספר המקומות המיוחדים, ו-$w$ ($1 \le w \le n-1$) הוא מספר השבילים הישירים בין מקום מיוחד למקום שאינו מיוחד שהמדינה רוצה לסלול. המקומות ממוספרים מ-$1$ עד $n$.

כל אחת מ-$k$ השורות הבאות מכילה מספר שלם יחיד $s$ ($1 \le s \le n$) המציין מקום מיוחד. הערכים האלה יהיו שונים זה מזה ויופיעו בסדר עולה.

כל אחת מ-$m$ השורות הבאות תתאר שביל אפשרי שהמדינה יכולה לסלול. כל אחת מהשורות האלה תכיל שלושה מספרים שלמים, $a$, $b$ ו-$c$, כאשר השביל יחבר את המקומות $a$ ו-$b$ ($1 \le a,b \le n$, $a \ne b$), ועלותו תהיה $c$ ($1 \le c \le 10^5$). בין כל שני מקומות יהיה לכל היותר שביל אפשרי אחד, ושביל מ-$a$ ל-$b$ זהה לשביל מ-$b$ ל-$a$.

פלט

הדפיסו מספר שלם יחיד, שהוא העלות הכוללת המזערית לסלילת שבילים בפארק החדש של המדינה בכפוף לאילוצים שלה, או $-1$ אם הדבר אינו אפשרי.

דוגמאות

קלט 1

3 3 1 2
2
1 2 2
1 3 1
2 3 3

פלט 1

5

קלט 2

3 1 1 1
2
1 2 2

פלט 2

-1

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.