Code:
#include<bits/stdc++.h>
#pragma GCC optimize(3,"Ofast")
using namespace std;
int tt;
int n,a[200005];
multiset<int> s;
multiset<int>::iterator it;
void solve(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++){
int x;
cin>>x;
s.insert(x);
}
s.insert(n);
for(int i=1;i<=n;i++){
it=lower_bound(s.begin(),s.end(),n-a[i]);
if(*it==n){
cout<<(*s.begin()+a[i])%n<<" ";
s.erase(s.begin());
}else{
cout<<(*it+a[i])%n<<" ";
s.erase(it);
}
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
solve();
return 0;
}
时限2s,n≤2×105,求卡常之后能不能通过,以及如何卡常