Cod sursa(job #1157070)
Utilizator | Data | 28 martie 2014 11:15:42 | |
---|---|---|---|
Problema | Progresii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.91 kb |
#include<fstream>
using namespace std;
long long n,m,lg,max1,s,a[100001],i,j,v[100001],ok,k,ser,z;
int main()
{
ifstream f("progresii.in");
ofstream g("progresii.out");
f>>n>>m>>max1>>lg;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=n;i++)
v[i]=1;
while(ok==0)
{
s=0;
for(i=1;i<=n;i++)
{
for(j=a[i];j<=lg;j+=v[i])
s++;
}
if(s>max1)
{
k=n;
while(v[k]>=m)
{
k--;
}
v[k]++;
for(i=k+1;i<=n;i++)
v[i]=1;
}
else if(s<=max1)
ok=1;
ser=0;
for(z=1;z<=n;z++)
{
if(v[z]<m)
ser=1;
}
if(ser==0)
ok=1;
}
if(ser==1)
for(i=1;i<=n;i++)
g<<v[i]<<"\n";
else
g<<-1;
return 0;
}