Submission #1039510

#TimeUsernameProblemLanguageResultExecution timeMemory
1039510pccMeasures (CEOI22_measures)C++17
24 / 100
1508 ms4056 KiB
#include <bits/stdc++.h>
using namespace std;

#define pii pair<int,int>
#define fs first
#define sc second
#define ll long long
#define ld long double
const int mxn = 3e5+10;
ll N,M,D;

bool check(vector<ll> &v,ll len){
	ld pre = -1e18;
	for(auto &i:v){
		if(i+len<pre+D)return false;
		pre = max(pre+D,(ld)i-len);
	}
	return true;
}

ll calc(vector<ll> &v){
	sort(v.begin(),v.end());
	ll l = 0,r = 3e15;
	assert(check(v,r));
	while(l != r){
		ll mid = (l+r)>>1;
		if(check(v,mid))r = mid;
		else l = mid+1;
	}
	return l;
}

vector<ll> v;

int main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin>>N>>M>>D;
	D<<=1;
	for(int i = 0;i<N;i++){
		ll k;
		cin>>k;
		v.push_back(k<<1);
	}
	while(M--){
		ll k;
		cin>>k;
		v.push_back(k<<1);
		ll re = calc(v);
		cout<<(re>>1)<<(re&1?".5 ":" ");
	}
	cout<<'\n';
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...