제출 #1276677

#제출 시각아이디문제언어결과실행 시간메모리
1276677PieArmyJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
70 ms6140 KiB
#include<bits/stdc++.h>
typedef long long ll;
#define pb push_back
#define fr first
#define sc second
#define endl '\n'
using namespace std;
#define mid ((left+right)>>1)

int n;
int arr[200023],brr[200023];
int per[200023];
int pref[200023],suf[200023];

int main(){
	ios_base::sync_with_stdio(23^23);cin.tie(NULL);
	cin>>n;
	for(int i=1;i<=n+1;i++){
		cin>>arr[i];
		per[i]=i;
	}
	for(int i=1;i<=n;i++){
		cin>>brr[i];
	}
	sort(brr+1,brr+n+1);
	sort(per+1,per+n+2,[&](const int &x,const int &y){
		return arr[x]<arr[y];
	});
	for(int i=1;i<=n;i++){
		pref[i]=max(pref[i-1],arr[per[i]]-brr[i]);
	}
	for(int i=n;i>=1;i--){
		suf[i]=max(suf[i+1],arr[per[i+1]]-brr[i]);
	}
	for(int i=1;i<=n+1;i++){
		arr[per[i]]=i;
	}
	for(int i=1;i<=n+1;i++){
		cout<<max(pref[arr[i]-1],suf[arr[i]])<<" ";
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...