Pagini recente » Cod sursa (job #113554) | Cod sursa (job #2552843) | Cod sursa (job #2472134) | Cod sursa (job #426762) | Cod sursa (job #1869483)
#include <fstream>
using namespace std;
ifstream fin("progresii.in");
ofstream fout("progresii.out");
long long n,m,j,k,l,i,p[100005],s,sol[100005],ct,m1;
int main()
{fin>>n>>m>>k>>l;
for(i=1;i<=n;i++)
{fin>>p[i];
s=s+l-p[i]+1;
}
for(i=n;i>=1;i--)
{if(s-(l-p[i]+1)+(l-p[i])/m+1>k){ct++;m1=m;while(m1-1>0&&(l-p[i])/m1==(l-p[i])/(m1-1))m1--;sol[ct]=m1;s=s-(l-p[i]+1)+(l-p[i])/m1+1;}
else {s=s-(l-p[i]+1);
while(m>0&&s+(l-p[i])/m+1<=k)
m--;
m++;
s=k;ct++;sol[ct]=m;break;
}
if(s==k)break;
}
for(i=n;i>=1;i--)
{if(sol[i])fout<<sol[i]<<"\n";
else fout<<"1\n";
}
}