QOJ.ac

QOJ

حد الوقت: 2.0 s حد الذاكرة: 1024 MB مجموع النقاط: 100 قابلة للهجوم ✓

#14718. Träffas för en måltid

الإحصائيات

På ett vackert campus ska Panda och hans vänner träffas för att äta. De tycker om att tillbringa tid tillsammans på vägen dit, eftersom de då kan småprata fritt med varandra.

Campuset modelleras som en sammanhängande, oriktad graf med $n$ noder och $m$ kanter med längder. Mötesplatsen är köpcentret, som ligger vid nod $1$. $k$ vänner startar från olika noder och färdas till köpcentret. Alla vänner rör sig med samma hastighet ($1$ längdenhet per tidsenhet) och får byta riktning på vilken position som helst längs en kant (se exempelförklaringen).

Låt $t_{\text{meet}}$ vara den tidigaste möjliga tidpunkten då alla vänner kan ha nått köpcentret. Baserat på denna tidigaste möjliga mötestid ska du för varje vän individuellt bestämma den maximala totala tid de kan tillbringa i sällskap (vilket innebär att minst en annan vän befinner sig på exakt samma plats i grafen, antingen i en nod eller på en position längs en kant) före den slutliga samlingen vid köpcentret.

När man betraktar en specifik vän $i$ optimeras vägarna och rörelsestrategierna för alla andra vänner $j \neq i$ för att maximera sällskapstiden för vän $i$, så länge alla vänner anländer till köpcentret senast vid tidpunkten $t_{\text{meet}}$.

Indata

Den första raden innehåller ett heltal $T$ ($1 \le T \le 10^4$), som anger antalet testfall.

För varje testfall innehåller den första raden tre heltal $n, m, k$ ($2 \le n \le 3 \times 10^5$, $n - 1 \le m \le 10^6$, $2 \le k \le n$), som representerar antalet noder, kanter respektive vänner.

Den andra raden innehåller $k$ olika heltal $a_1, a_2, \ldots, a_k$ ($1 \le a_i \le n$), som anger vännernas startnoder.

De följande $m$ raderna innehåller var och en tre heltal $u, v, w$ ($1 \le u, v \le n$, $u \neq v$, $1 \le w \le 10^9$), vilket anger en kant mellan nod $u$ och $v$ med längden $w$. Grafen är sammanhängande och saknar multipla kanter och egenloopar.

Summan av $n$ över alla testfall överstiger inte $3 \times 10^5$, och summan av $m$ över alla testfall överstiger inte $10^6$.

Utdata

För varje testfall, skriv ut en rad som innehåller $k$ flyttal separerade med mellanslag, vart och ett formaterat med exakt en decimal, som representerar den maximala tiden i sällskap för varje vän.

Exempel

Indata 1

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

Utdata 1

3.0 3.0
1.5 1.5
3.5 3.5 2.5

Anmärkning

För det tredje testfallet i exemplet är den tidigaste mötestiden vid köpcentret $5$ tidsenheter.

  • Vännerna från noderna $1$ och $2$ kan mötas halvvägs på kanten $(1, 2)$ efter $1.5$ tidsenheter, färdas tillsammans tillbaka till köpcentret på ytterligare $1.5$ enheter och sedan vänta $2$ enheter vid köpcentret, vilket ger totalt $3.5$ enheter av sällskap.
  • Vännen från nod $3$ möter vännerna från nod $1$ halvvägs på kanten $(1, 3)$ efter $2.5$ enheter och återvänder med dem på $2.5$ enheter, vilket ger totalt $2.5$ enheter av sällskap.

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.