Pagini recente » Cod sursa (job #2425337) | Cod sursa (job #153948) | Cod sursa (job #135091) | Cod sursa (job #943968) | Cod sursa (job #2657979)
#include <bits/stdc++.h>
using namespace std;
ifstream in("progresii.in");
ofstream out("progresii.out");
typedef long long ll;
const ll lim=1e5+4;
ll p[lim],v[lim];
int main()
{
ll n,m,k,ck,d;
in>>n>>m>>k>>d;
ck=k;
for(ll i=1;i<=n;++i)
{
in>>p[i];
p[i]=d-p[i];
v[i]=m;
ck-=p[i]/m+1;
}
if(ck<0)
{
out<<-1<<'\n';
return 0;
}
for(ll i=1;i<=n and k;++i)
{
ll l=1,r=m,med;
while(l<r)
{
med=(l+r)/2;
if(p[i]/med+1<=k)
r=med;
else l=med+1;
}
v[i]=l;
k-=p[i]/l+1;
}
for(ll i=1;i<=n;++i)
out<<v[i]<<'\n';
return 0;
}