ans = mx[belong[l] + 1][belong[r] - 1];
rep(i, l, R[belong[l]]) {
int it = az[i];
while(it + ans <v[a[i]].size() && v[a[i]][it + ans] <= r) ++ans;
}
rep(i, L[belong[r]], r) {
int it = az[i];
while(it - ans >= 0 && v[a[i]][it - ans] >= l) ans++;
}
怎么理解。还有我插入的代码怎么不换行