func_code_string: #include <bits/stdc++.h>   using namespace std;   int n;   int a[100500];   int b[200500];   int c[100500];   multiset<int> pl, mnus;   int addpl, addmn;   int main() {     cin >> n;     for (int i = 0; i < n; ++i) {       cin >> a[i];       c[a[i]] = i;     }     for (int i = 0; i < n; ++i) {       cin >> b[i];       b[i + n] = b[i];     }     for (int i = 0; i < n; ++i) {       if (c[b[i]] >= i)         mnus.insert(c[b[i]] - i);       else         pl.insert(i - c[b[i]]);     }     pl.insert(1e9);     mnus.insert(1e9);     cout << min(*mnus.begin() + addmn, *pl.begin() + addpl) << endl;     for (int i = 0; i < n - 1; ++i) {       addpl--;       addmn++;       mnus.erase(mnus.lower_bound(c[b[i]] + 1 - addmn));       pl.insert(n - c[b[i]] - 1 - addpl);       while (*pl.begin() + addpl == 0) mnus.insert(-addmn), pl.erase(pl.begin());       cout << min(*mnus.begin() + addmn, *pl.begin() + addpl) << endl;     }   }   