This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
#define ll long long
#define st first
#define nd second
#define pb push_back
#define sz(x) (int)(x).size()
#define all(x) (x).begin(), (x).end()
ll mod=1000000007;
int inf=1000000007;
ll infl=1000000000000000007;
signed main()
{
int n,m,d,x;
cin>>n>>m>>d;
d*=2;
vector<int>a(n);
for(int i=0;i<n;i++)
{
cin>>a[i];
a[i]*=2;
}
if(n>0)
{
for(int i=0; i<m; i++)
{
cin>>x;
a.pb(2*x);
sort(all(a));
int l=a[0],k=0;
for(int j=1; j<n+i+1; j++)
{
if(l+d>a[j]+k)
{
int m=(l+d-a[j]-k)/2;
k+=m;
l+=d-m;
}
else l=max(a[j]-k,l+d);
}
if(k%2==1) cout<<k/2<<".5"<<" ";
else cout<<k/2<<" ";
}
}
else
{
int l=0,k=0;
for(int i=0;i<m;i++)
{
cin>>x;
x*=2;
if(i==0)
{
l=x;
cout<<0<<" ";
continue;
}
if(l+d>x+k)
{
int m=(l+d-x-k)/2;
k+=m;
l+=d-m;
}
else l=max(x-k,l+d);
if(k%2==1) cout<<k/2<<".5"<<" ";
else cout<<k/2<<" ";
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |