QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 512 MB Total points: 100

#8920. Gräsklipparnas uppror

Statistics

Gräsmattorna i Иннополис klipps av elektriska robotgräsklippare. Vi betraktar en gräsmatta som ett intervall på tallinjen, med robotgräsklippare placerade i vissa punkter. Robotarnas storlek kan försummas. En robot står vid gräsmattans början (det finns ingen gräsmatta till vänster om den), och en vid slutet (det finns ingen gräsmatta till höger om den). Varje robot är från början vänd åt ett av två håll: antingen åt höger eller åt vänster.

problem_8920_512bc14f5ce16416bfdd86df55ed73fa.png

Batteriet i den $i$:te roboten räcker för att klippa $p_i$ meter gräsmatta. Efter nattens laddning börjar alla robotar arbeta samtidigt och rör sig med samma hastighet. Varje robot rör sig längs linjen i sin riktning. En robot stannar i något av följande tre fall:

  1. Om robotens batteri tar slut. Med andra ord, om den $i$:te roboten har färdats $p_i$ meter från sin startpunkt.
  2. Om roboten når gräsmattans början eller slut.
  3. Om roboten möter en annan robot i samma punkt, där den andra roboten antingen rörde sig mot den eller hade stannat i punkten tidigare.

Innan robotarna startas kan du ändra riktningen för några av dem till den motsatta. Allt gräs på gräsmattan måste klippas.

Bestäm det minsta antalet robotar vars riktning måste ändras så att allt gräs på gräsmattan till slut blir klippt. Ange annars att det är omöjligt att klippa allt gräs.

Indata

Den första raden innehåller ett heltal $n$ ($2 \le n \le 10^5$): antalet robotar.

De följande $n$ raderna beskriver robotarna i den ordning de står på linjen från vänster till höger. Varje robot beskrivs av tre heltal $x_i$, $p_i$ och $d_i$: robotens startposition, hur många meter den kan färdas och dess rörelseriktning ($0=x_1<x_2<\cdots<x_n \le 10^9$, $1 \le p_i \le 10^9$; värdet $d_i=-1$ betyder rörelse åt vänster, i riktning mot minskande koordinater, och $d_i=1$ betyder rörelse åt höger, i riktning mot ökande koordinater). Gräsmattans början och slut ligger i punkterna $x_1=0$ respektive $x_n$.

Utdata

Skriv ut $-1$ på den enda raden om det är omöjligt att klippa allt gräs på gräsmattan. Skriv annars ut ett tal: antalet robotar vars riktning behöver ändras till den motsatta för att gräsmattan ska bli klippt.

Deluppgifter

Deluppgift Poäng Begränsning för $n$ Ytterligare begränsningar Nödvändiga deluppgifter
1 23 $n \le 10$ Exempel
2 16 Alla robotar är från början vända åt höger ($d_i=1$)
3 17 $n \le 1000$ Exempel, 1
4 13 $x_i=i-1$, $p_i=1$
5 14 $p_i=10^9$
6 17 Inga ytterligare begränsningar Exempel, 1–5

Exempel

Indata 1

3
0 1 -1
1 1 1
2 1 -1

Utdata 1

1

Indata 2

2
0 1 1
4 2 -1

Utdata 2

-1

Förklaring

Det första exemplet visas i figuren. För att klippa allt gräs kan man till exempel vända roboten som står i mitten.

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.