QOJ.ac

QOJ

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

#119. Le pire journaliste 3

Statistics

Lors de la cérémonie d'ouverture des IOI 2018, $N$ concurrents défilent en file sur une ligne, représentée par un axe numérique. Tous avancent dans le sens positif de cet axe. À l'instant $0$, le $i$-ème concurrent ($1 \le i \le N$, en comptant depuis la tête de la file) se trouve à la coordonnée $-i$. De plus, IOI-chan, qui porte le drapeau, se trouve à la coordonnée $0$.

Chaque concurrent possède une valeur appelée lenteur. Le $i$-ème concurrent a une lenteur $D_i$. Les concurrents respectent la règle suivante :

  • Si le $i$-ème concurrent est à une distance supérieure ou égale à $D_i+1$ de la personne (un concurrent ou IOI-chan) immédiatement devant lui, il se déplace jusqu'à la position située à une distance de $1$ de cette personne. Sinon, il ne bouge pas.

IOI-chan parcourt une distance de $1$ dans le sens positif de l'axe par unité de temps. Un concurrent se déplace instantanément dès que la condition ci-dessus est satisfaite.

Vous êtes un journaliste chargé de couvrir la cérémonie d'ouverture. Vous deviez prendre des photos, mais vous avez dormi profondément pendant toute la cérémonie. Ne pouvant rien y faire, vous décidez de tricher en photographiant la salle, puis en dessinant les personnes sur les photos.

Pour éviter que votre supercherie soit découverte, ou pour estimer le temps nécessaire aux dessins, vous souhaitez connaître les $Q$ valeurs suivantes :

  • Le nombre de personnes dont la coordonnée est comprise entre $L_j$ et $R_j$, bornes incluses, à l'instant $T_j$ ($1 \le j \le Q$).

Tâche

Étant données la lenteur de chaque concurrent et les données des $Q$ questions, écrivez un programme qui calcule, pour chaque question, le nombre de personnes satisfaisant la condition.

Entrée

Lisez les données suivantes sur l'entrée standard.

  • La première ligne contient deux entiers $N$ et $Q$ séparés par un espace. Cela signifie qu'il y a $N$ concurrents, sans compter IOI-chan, et $Q$ questions.
  • La $i$-ème ligne ($1 \le i \le N$) des $N$ lignes suivantes contient un entier $D_i$. Cela signifie que le $i$-ème concurrent depuis la tête de la file a une lenteur $D_i$.
  • La $j$-ème ligne ($1 \le j \le Q$) des $Q$ lignes suivantes contient trois entiers $T_j$, $L_j$ et $R_j$ séparés par des espaces. Ces valeurs représentent la $j$-ème question.

Sortie

Écrivez $Q$ lignes sur la sortie standard. La $j$-ème ligne ($1 \le j \le Q$) doit contenir la réponse à la $j$-ème question.

Contraintes

Toutes les données d'entrée satisfont les conditions suivantes.

  • $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$).

Sous-tâches

Il y a 3 sous-tâches. Leurs scores et contraintes supplémentaires sont les suivants :

Sous-tâche 1 [7 points]

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

Sous-tâche 2 [12 points]

  • $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$).

Sous-tâche 3 [81 points]

Il n'y a aucune contrainte supplémentaire.

Exemples

Entrée 1

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

Sortie 1

0
1
1
2
1
2

Remarque

Dans cet exemple, les concurrents et IOI-chan se déplacent comme suit.

Dans ce qui suit, l'intervalle $[L,R]$ désigne l'ensemble des points de l'axe numérique dont les coordonnées sont comprises entre $L$ et $R$, bornes incluses.

  • À l'instant $0$, IOI-chan se trouve à la coordonnée $0$. Les premier, deuxième et troisième concurrents se trouvent respectivement aux coordonnées $-1$, $-2$ et $-3$.
  • À l'instant $1$, IOI-chan se déplace à la coordonnée $1$. Aucun concurrent ne bouge ; les premier, deuxième et troisième concurrents se trouvent respectivement aux coordonnées $-1$, $-2$ et $-3$. Comme personne ne se trouve dans l'intervalle $[2,4]$, il faut afficher $0$ pour la première question.
  • À l'instant $2$, IOI-chan se déplace à la coordonnée $2$. La distance entre IOI-chan et le premier concurrent vaut alors $3$, donc celui-ci se déplace à la coordonnée $1$. Les premier, deuxième et troisième concurrents se trouvent respectivement aux coordonnées $1$, $-2$ et $-3$. Comme seule IOI-chan se trouve dans l'intervalle $[2,4]$, il faut afficher $1$ pour la deuxième question.
  • À l'instant $3$, IOI-chan se déplace à la coordonnée $3$. Aucun concurrent ne bouge ; les premier, deuxième et troisième concurrents se trouvent respectivement aux coordonnées $1$, $-2$ et $-3$. Comme seule IOI-chan se trouve dans l'intervalle $[2,4]$, il faut afficher $1$ pour la troisième question.
  • À l'instant $4$, IOI-chan se déplace à la coordonnée $4$. La distance entre IOI-chan et le premier concurrent vaut alors $3$, donc celui-ci se déplace à la coordonnée $3$. Les premier, deuxième et troisième concurrents se trouvent respectivement aux coordonnées $3$, $-2$ et $-3$. Comme IOI-chan et le premier concurrent se trouvent dans l'intervalle $[2,4]$, il faut afficher $2$ pour la quatrième question.
  • À l'instant $5$, IOI-chan se déplace à la coordonnée $5$. Aucun concurrent ne bouge ; les premier, deuxième et troisième concurrents se trouvent respectivement aux coordonnées $3$, $-2$ et $-3$. Comme seul le premier concurrent se trouve dans l'intervalle $[2,4]$, il faut afficher $1$ pour la cinquième question.
  • À l'instant $6$, IOI-chan se déplace à la coordonnée $6$. La distance entre IOI-chan et le premier concurrent vaut alors $3$, donc celui-ci se déplace à la coordonnée $5$. La distance entre les premier et deuxième concurrents vaut alors $7$, donc le deuxième concurrent se déplace à la coordonnée $4$. De plus, la distance entre les deuxième et troisième concurrents vaut alors $7$, donc le troisième concurrent se déplace à la coordonnée $3$. Les premier, deuxième et troisième concurrents se trouvent respectivement aux coordonnées $5$, $4$ et $3$. Comme les deuxième et troisième concurrents se trouvent dans l'intervalle $[2,4]$, il faut afficher $2$ pour la sixième question.

Entrée 2

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

Sortie 2

2
0

Remarque

Cet exemple satisfait les contraintes de la sous-tâche $1$.

Entrée 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

Sortie 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.