Pagini recente » Cod sursa (job #2256458) | Cod sursa (job #824598) | Cod sursa (job #1499495) | Cod sursa (job #2495581) | Cod sursa (job #1540722)
#include <stdio.h>
unsigned n,g,i,j,q,v[201],x,sol[75001],ob,best=20001,gmax,dist;
void afis()
{
int i;
for(i=1;i<=g;i++)
printf("%u ",sol[i]);
printf("\n");
}
int main()
{
FILE *f1,*f2;
f1=fopen("ghiozdan.in","r");
f2=fopen("ghiozdan.out","w");
fscanf(f1,"%u%u",&n,&g);
for(i=0;i<n;i++)
{
fscanf(f1,"%u",&x);
v[x]++;
}
for(q=200;q>0;q--)
{
x=q;
ob=1;
while(v[q] && x<=g)
{
if(sol[x]>ob || !sol[x])
{
sol[x]=ob;
}
else
ob=sol[x];
v[q]--;
//ob=sol[x-q]+1;
ob++;
x+=q;
}
}
for(i=g;i>0;i--)
if(sol[i])
{
best=sol[i];
gmax=i;
break;
}
fprintf(f2,"%u %u\n",gmax,best);
q=1;
dist=1;
for(i=1;i<=g && q<=best;i++ , dist++)
if(sol[i]==q)
{
q++;
fprintf(f2,"%u\n",dist);
dist=0;
}
return 0;
}