제출 #1302395

#제출 시각아이디문제언어결과실행 시간메모리
1302395MuhammadSaramMeasures (CEOI22_measures)C++20
24 / 100
1590 ms13432 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long

signed main()
{
	int n,m,d,x;
	cin>>n>>m>>d;
	multiset<int> se;
	for (int i=0;i<n;i++)
		cin>>x, se.insert(x);
	d*=2;
	while (m--)
	{
		cin>>x, se.insert(x);
		vector<int> v,v1;
		for (int i:se) v1.push_back(i*2);
		int s=-1, e=d*n;
		while (s+1<e)
		{
			int mid=(s+e)/2;
			v=v1;
			v[0]-=mid;
			bool pos=1;
			for (int i=1;i<v.size() && pos;i++)
				if (v[i]-v[i-1]<d)
				{
					if (v[i-1]+d<=v[i]+mid) v[i]=v[i-1]+d;
					else pos=0;
				}
				else
					v[i]=max(v[i-1]+d, v[i]-mid);
			if (pos)
				e=mid;
			else
				s=mid;
		}
		cout<<e/2<<(e%2?".5":"")<<' ';
	}
	
	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...