제출 #762920

#제출 시각아이디문제언어결과실행 시간메모리
762920vjudge1Just Long Neckties (JOI20_ho_t1)C++17
100 / 100
95 ms10120 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

const int NM = 2e5;

struct necktie{
	int id, l;
};

int N, B[NM+5], pref[NM+5], cur = 0, ans[NM+5];
necktie A[NM+5];

bool cmp(necktie a, necktie b){
	return a.l < b.l;
}

signed main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin >> N;
	for (int i = 1; i <= N+1; i++){
		cin >> A[i].l;
		A[i].id = i;
	}
	for (int i = 1; i <= N; i++)
		cin >> B[i];
	sort(B+1, B+1+N);
	sort(A+1, A+1+N+1, cmp);
	
	for (int i = 1; i <= N; i++)
		pref[i] = max(pref[i-1], max(A[i].l-B[i], 0LL));
	cur = 0;
	ans[A[N+1].id] = pref[N];
	for (int i = N; i >= 1; i--){
		cur = max(cur, max(A[i+1].l-B[i], 0LL));
		ans[A[i].id] = max(pref[i-1], cur);
	}
	for (int i = 1; i <= N+1; i++) cout << ans[i] << ' ';
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...