#include <bits/stdc++.h>
#define ll long long
#define ff first
#define ss second
using namespace std;
int main()
{
ll n;
cin >> n;
ll b[n + 5];
pair<ll, ll> a[n + 5];
ll ans[n + 5];
for (ll i = 1; i <= n + 1; i++)
cin >> a[i].ff, a[i].ss = i;
for (ll i = 1; i <= n; i++)
cin >> b[i];
sort(a + 1, a + n + 2);
sort(b + 1, b + n + 1);
multiset<ll, greater<ll>> st;
for (ll i = 1; i <= n; i++)
st.insert(a[i].ff - b[i]);
ans[a[n + 1].ss] = *st.begin();
for (ll i = n; i >= 1; i--)
{
st.erase(st.find(a[i].ff - b[i]));
st.insert(a[i + 1].ff - b[i]);
ans[a[i].ss] = *st.begin();
}
for (ll i = 1; i <= n + 1; i++)
cout << max(ans[i], 0ll) << ' ';
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |