QOJ.ac

QOJ

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

#24315. Fortbildning

Statistics

Samarbetet mellan de anställda i ett företag är organiserat i en hierarkisk struktur. Företaget har totalt $n$ anställda. Varje anställd har ett unikt nummer från $1$ till $n$, och direktören har nummer $1$. Varje anställd utom direktören har exakt en omedelbar chef. Den omedelbara chefen för anställd $i$ har nummer $p_i$, där $p_i<i$.

Anställd $x$ är underställd anställd $y$ på nivå $1$ om $p_x=y$. För $k>1$ är anställd $x$ underställd anställd $y$ på nivå $k$ om anställd $p_x$ är underställd anställd $y$ på nivå $k-1$.

Företagets direktör har fått möjlighet att skicka vissa anställda på fortbildningskurser. Han bestämmer sig därför för att välja två tal $L$ och $R$ och skicka alla anställda med nummer $i$ sådana att $L\le i\le R$ på kurserna.

Innan direktören väljer $L$ och $R$ får han $m$ önskemål från företagets anställda. Det $j$:e önskemålet anges med två tal $u_j$ och $k_j$ och innebär att anställd $u_j$ ber att en av hans underställda på nivå $k_j$ ska skickas på kurs. För att spara pengar vill direktören välja $L$ och $R$ så att antalet anställda som skickas på fortbildning är så litet som möjligt, samtidigt som alla önskemål uppfylls.

Skriv ett program som, utifrån företagets chefsrelationer och de anställdas önskemål, bestämmer två tal $L$ och $R$ så att alla önskemål uppfylls om alla anställda med nummer från $L$ till $R$, inklusive ändpunkterna, skickas på fortbildningskurser, och så att antalet anställda som skickas är så litet som möjligt. Om det finns flera optimala par $L,R$, ska det par där $L$ är minst hittas.

Indata

Den första raden i indatafilen innehåller talet $n$ — antalet anställda i företaget ($2\le n\le 200\,000$). Den andra raden innehåller $n-1$ tal: $p_2,p_3,\ldots,p_n$ ($1\le p_i<i$) — numren på de anställdas omedelbara chefer.

Den tredje raden innehåller talet $m$ — antalet önskemål från de anställda.

De följande $m$ raderna anger de anställdas önskemål och innehåller två heltal vardera, $u_j,k_j$ ($1\le u_j<n$, $1\le k_j<n$; det garanteras att anställd $u_j$ har minst en underställd på nivå $k_j$).

Utdata

Skriv ut de två sökta talen $L$ och $R$. Om det finns flera optimala par $(L,R)$, ska det par där $L$ är minst skrivas ut.

Exempel

Indata 1

7
1 1 2 2 3 3
3
1 1
3 1
1 2

Utdata 1

3 6

Förklaring

De anställda med nummer $3$, $4$, $5$ och $6$ skickas på fortbildning. Anställd $3$ är underställd anställd $1$ på nivå $1$, anställd $4$ är underställd anställd $1$ på nivå $2$, och anställd $6$ är underställd anställd $3$ på nivå $1$.

Deluppgifter

Poäng för en deluppgift ges endast om alla tester i den deluppgiften och de nödvändiga deluppgifterna klaras.

Deluppgift Poäng Begränsningar för $n$ Ytterligare villkor Nödvändiga deluppgifter
1 19 $2\le n\le 50$
2 25 $2\le n\le 3000$ 1
3 21 $2\le n\le 200\,000$ För alla $i$ gäller $p_i=i-1$
4 35 $2\le n\le 200\,000$ 1, 2, 3

Information om resultaten av den slutliga bedömningen

På begäran meddelas poängen för varje deluppgift.

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.