Submission #719591

#TimeUsernameProblemLanguageResultExecution timeMemory
719591Rafi22Measures (CEOI22_measures)C++14
59 / 100
383 ms5384 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...