#include<bits/stdc++.h>
using namespace std;int n,s,M;
int main(){priority_queue<int>q;
    for(cin>>n>>s;n--;M=max(M,s))cin>>s,q.push(-s);
    for(;cin>>s;cout<<M<<'\n')s-=q.top(),q.pop(),q.push(-s),M=max(M,s);
}

一份使用优先队列的极简解