Pagini recente » Cod sursa (job #1780396) | Cod sursa (job #839239) | Cod sursa (job #1318064) | Cod sursa (job #752700) | Cod sursa (job #561090)
Cod sursa(job #561090)
#include <fstream>
using namespace std;
int vector[1000];
int keep[1000];
int functie( int x, int m)
{
if( m == 0 )
{
return !(x%keep[0]);
}
else
{
bool OK=false;
int j = x/keep[m];
for( int i=j;i>=0;i-- )
{
if(x-keep[m]*i == 0)
{
return true;
}
OK = OK || functie( x-keep[m]*i, m-1 );
if( OK == true )
{
return OK;
}
}
return OK;
}
}
int main()
{
ifstream citire("economie.in");
ofstream scriere("economie.out");
int N,i;
citire>>N;
int t=1;
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],t-1 ) )
{
keep[t]=vector[i];
t++;
}
}
scriere<<t<<"\n";
for( i=0;i<t;i++ )
{
scriere<<keep[i]<<" ";
}
}