QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100 Difficulty: [show] Hackable ✓

#119. Sämsta reportern 3

Statistics

Under öppningsceremonin för IOI 2018 marscherar $N$ tävlande längs en linje som representeras av en tallinje. Alla tävlande rör sig i tallinjens positiva riktning. Vid tidpunkten $0$ står den $i$-te tävlande ($1 \le i \le N$, räknat framifrån) på koordinaten $-i$. Dessutom står IOI-chan, fanbäraren, på koordinaten $0$.

Varje tävlande har ett värde som kallas långsamhet. Den $i$-te tävlande har långsamheten $D_i$. De tävlande följer följande regel:

  • Om den $i$-te tävlande befinner sig på ett avstånd som är större än eller lika med $D_i + 1$ från personen (en tävlande eller IOI-chan) precis framför honom eller henne, flyttar sig den $i$-te tävlande till positionen på avståndet $1$ från den personen. Annars flyttar sig den $i$-te tävlande inte.

IOI-chan förflyttar sig sträckan $1$ i positiv riktning längs linjen per tidsenhet. En tävlande förflyttar sig omedelbart så snart villkoret ovan är uppfyllt.

Du är en reporter som ska bevaka öppningsceremonin. Du skulle ta foton, men du sov djupt under hela ceremonin. Det var inget att göra åt saken — du bestämde dig för att fuska genom att ta foton av salen och sedan rita dit bilder av personerna på dem.

För att inte bli påkommen med att fuska, eller för att uppskatta tiden det tar att rita bilderna, vill du veta följande $Q$ värden:

  • antalet personer som står på en koordinat mellan $L_j$ och $R_j$, inklusive gränserna, vid tidpunkten $T_j$ ($1 \le j \le Q$).

Uppgift

Givet långsamheten för varje tävlande samt data för de $Q$ frågorna, skriv ett program som för varje fråga beräknar antalet personer som uppfyller villkoret.

Indata

Läs in följande data från standard inmatning.

  • Den första raden i indata innehåller två blankstegsseparerade heltal $N$ och $Q$. Detta betyder att det finns $N$ tävlande (exklusive IOI-chan) och att det finns $Q$ frågor.
  • Den $i$-te raden ($1 \le i \le N$) av de följande $N$ raderna innehåller ett heltal $D_i$. Detta betyder att den $i$-te tävlande framifrån har långsamheten $D_i$.
  • Den $j$-te raden ($1 \le j \le Q$) av de följande $Q$ raderna innehåller tre blankstegsseparerade heltal $T_j$, $L_j$ och $R_j$. Dessa värden representerar den $j$-te frågan.

Utdata

Skriv ut $Q$ rader till standard utmatning. Den $j$-te raden ($1 \le j \le Q$) i utdata ska innehålla svaret på den $j$-te frågan.

Begränsningar

All indata uppfyller följande villkor.

  • $1 \le N \le 500\,000$.
  • $1 \le Q \le 500\,000$.
  • $1 \le D_i \le 1\,000\,000\,000$ ($1 \le i \le N$).
  • $1 \le T_j \le 1\,000\,000\,000$ ($1 \le j \le Q$).
  • $1 \le L_j \le R_j \le 1\,000\,000\,000$ ($1 \le j \le Q$).

Deluppgifter

Det finns 3 deluppgifter. Poängen och de ytterligare begränsningarna för varje deluppgift är följande:

Deluppgift 1 [7 poäng]

  • $D_i = 1$ ($1 \le i \le N$).

Deluppgift 2 [12 poäng]

  • $N \le 1\,000$.
  • $Q \le 1\,000$.
  • $T_j \le 1\,000$ ($1 \le j \le Q$).
  • $1 \le L_j \le R_j \le 1\,000$ ($1 \le j \le Q$).

Deluppgift 3 [81 poäng]

Det finns inga ytterligare begränsningar.

Exempel

Indata 1

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

Utdata 1

0
1
1
2
1
2

Förklaring

I detta exempel på indata rör sig de tävlande och IOI-chan på följande sätt.

I det följande betecknar intervallet $[L, R]$ mängden av punkter på tallinjen med koordinat mellan $L$ och $R$, inklusive gränserna.

  • Vid tidpunkten $0$ står IOI-chan på koordinaten $0$. Den 1:a, 2:a och 3:e tävlande står på koordinaterna $-1$, $-2$ respektive $-3$.
  • Vid tidpunkten $1$ flyttar sig IOI-chan till koordinaten $1$. Inga tävlande flyttar sig; den 1:a, 2:a och 3:e tävlande står på koordinaterna $-1$, $-2$ respektive $-3$. Eftersom det inte finns några personer i intervallet $[2, 4]$, skriv ut $0$ för den 1:a frågan.
  • Vid tidpunkten $2$ flyttar sig IOI-chan till koordinaten $2$. Avståndet mellan IOI-chan och den 1:a tävlande är nu $3$, så den 1:a tävlande flyttar sig till koordinaten $1$. Den 1:a, 2:a och 3:e tävlande står på koordinaterna $1$, $-2$ respektive $-3$. Eftersom endast IOI-chan befinner sig i intervallet $[2, 4]$, skriv ut $1$ för den 2:a frågan.
  • Vid tidpunkten $3$ flyttar sig IOI-chan till koordinaten $3$. Inga tävlande flyttar sig; den 1:a, 2:a och 3:e tävlande står på koordinaterna $1$, $-2$ respektive $-3$. Eftersom endast IOI-chan befinner sig i intervallet $[2, 4]$, skriv ut $1$ för den 3:e frågan.
  • Vid tidpunkten $4$ flyttar sig IOI-chan till koordinaten $4$. Avståndet mellan IOI-chan och den 1:a tävlande är nu $3$, så den 1:a tävlande flyttar sig till koordinaten $3$. Den 1:a, 2:a och 3:e tävlande står på koordinaterna $3$, $-2$ respektive $-3$. Eftersom IOI-chan och den 1:a tävlande befinner sig i intervallet $[2, 4]$, skriv ut $2$ för den 4:e frågan.
  • Vid tidpunkten $5$ flyttar sig IOI-chan till koordinaten $5$. Inga tävlande flyttar sig; den 1:a, 2:a och 3:e tävlande står på koordinaterna $3$, $-2$ respektive $-3$. Eftersom endast den 1:a tävlande befinner sig i intervallet $[2, 4]$, skriv ut $1$ för den 5:e frågan.
  • Vid tidpunkten $6$ flyttar sig IOI-chan till koordinaten $6$. Avståndet mellan IOI-chan och den 1:a tävlande är nu $3$, så den 1:a tävlande flyttar sig till koordinaten $5$. Då är avståndet mellan den 1:a och den 2:a tävlande $7$, så den 2:a tävlande flyttar sig till koordinaten $4$. Dessutom är avståndet mellan den 2:a och den 3:e tävlande nu $7$, så den 3:e tävlande flyttar sig till koordinaten $3$. Den 1:a, 2:a och 3:e tävlande står på koordinaterna $5$, $4$ respektive $3$. Eftersom den 2:a och den 3:e tävlande befinner sig i intervallet $[2, 4]$, skriv ut $2$ för den 6:e frågan.

Indata 2

4 2
1
1
1
1
2 1 4
1 3 6

Utdata 2

2
0

Förklaring

Detta exempel på indata uppfyller begränsningarna för deluppgift 1.

Indata 3

6 6
11
36
28
80
98
66
36 29 33
190 171 210
18 20 100
1000 900 1100
92 87 99
200 100 300

Utdata 3

1
6
0
5
2
7

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.