Cod sursa(job #1157049)
Utilizator | Data | 28 martie 2014 11:04:01 | |
---|---|---|---|
Problema | Progresii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.96 kb |
#include<fstream>
using namespace std;
int n,m,lg,max1,s,a[100001],i,j,v[100001],ok,k,ser;
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
ok=1;
if(ok==0)
{
ok=1;
for(i=1;i<=n;i++)
if(v[i]<m)
{
ok=0;
}
if(i==n&&ok==1)
ser=1;
}
}
if(ser==0)
g<<-1;
else
for(i=1;i<=n;i++)
g<<v[i]<<"\n";
return 0;
}