Pagini recente » Cod sursa (job #661879) | Cod sursa (job #96979) | Cod sursa (job #1595945) | Cod sursa (job #431552) | Cod sursa (job #110131)
Cod sursa(job #110131)
#include<fstream.h>
#include<stdlib.h>
ifstream f("economie.in");
ofstream g("economie.out");
long v[1010],i,j,salv[1010],n,ok,x,s2,k;
int compare (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
qsort (v,n+1, sizeof(long), compare);
i=1;
x=1;
salv[1]=v[1];
while(x<n)
{
ok=0;
for(j=1;j<=i;j++)
if(v[x]%salv[j]==0)
{
x++;
ok=1;
break;
}
if(ok==0)
{
k=i;
s2=v[x];
while(k>=1 && s2>0)
{
while(s2>=salv[k])
{
s2-=salv[k];
for(j=k;j>=1;j--)
if(s2%salv[j]==0)
s2=0;
}
k--;
}
if(s2==0)
{
ok=1;
x++;
}
}
if(ok==0)
{
i++;
salv[i]=v[x];
}
}
g<<i<<"\n";
for(j=1;j<=i;j++)
g<<salv[j]<<"\n";
f.close();
g.close();
return 0;
}