Pagini recente » Cod sursa (job #978038) | Cod sursa (job #2165764) | Cod sursa (job #1630992) | Cod sursa (job #2922089) | Cod sursa (job #560976)
Cod sursa(job #560976)
#include <iostream>
#include <fstream>
using namespace std;
int vector[1000];
int keep[1000];
int functie( int x, int m, int t )
{
if( m == 0 )
{
cout<<!x%keep[0];
return !x%keep[0];
}
else
{
bool OK=false;
int j = x/keep[t];
for( int i=0;i<=j;i++ )
{
OK = OK || functie( x-keep[m]*i, m-1,t );
if( OK == true )
{
cout<<1;
break;
}
}
}
}
int main()
{
ifstream citire("economie.in");
ofstream scriere("economie.out");
int N,i;
citire>>N;
int t=0;
for( i=0;i<N;i++ )
{
citire>>vector[i];
}
sort(&vector[0], &vector[N]);
keep[0]=vector[0];
for( i=1;i<N;i++ )
{
if ( !functie( vector[i],i-1,t ) )
{
t++;
keep[t]=vector[i];
}
}
scriere<<t<<"\n";
for( i=0;i<t;i++ )
{
scriere<<keep[i]<<" ";
}
}