QOJ.ac

QOJ

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

#894. Plus long segment lâche

Statistics

Une liste $A$ est dite loose si $\max(A) + \min(A) > \text{len}(A)$.

Aujourd'hui, Rikka a obtenu une liste $A$ de longueur $n$. Elle souhaite trouver le plus long segment $[l, r]$ dans $A$ tel que la liste $[A_l, A_{l+1}, \dots, A_r]$ soit loose.

Rikka effectuera $m$ tours avec la liste $A$. À chaque tour, Rikka effectuera une ou plusieurs opérations données en séquence. Chaque opération consiste à échanger deux éléments dans la liste $A$. Votre tâche est de calculer la longueur du plus long segment loose de $A$ et de la liste résultante après chaque tour.

Notez que les opérations du tour $i$ sont effectuées sur la liste qui était le résultat du tour $(i - 1)$.

Entrée

La première ligne contient deux entiers $n$ et $m$ ($1 \le n \le 10^6$ et $1 \le m \le 30$).

La deuxième ligne contient $n$ entiers $A_i$ ($-10^6 \le A_i \le 10^6$) qui constituent la liste initiale $A$.

Suivent ensuite $m$ descriptions des tours. Pour chaque tour, la première ligne contient un entier unique $k$ ($1 \le k \le 10^6$), le nombre d'échanges. Puis $k$ lignes suivent : chacune d'elles contient deux entiers $u_i$ et $v_i$ ($1 \le u_i, v_i \le n$ et $u_i \neq v_i$) tels que Rikka échangera $A_{u_i}$ et $A_{v_i}$ lors de cette opération.

Il est garanti que $\sum k \le 10^6$.

Sortie

Sur la première ligne, affichez un entier unique : la longueur du plus long segment loose de $A$.

Ensuite, affichez $m$ lignes. Sur chacune d'elles, imprimez un entier unique : la longueur du plus long segment loose de la liste résultante après chaque tour.

Exemples

Entrée 1

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

Sortie 1

2
3
4

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.