Pagini recente » Cod sursa (job #1413207) | Cod sursa (job #1046995) | Cod sursa (job #2668742) | Cod sursa (job #1914306) | Cod sursa (job #983395)
Cod sursa(job #983395)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
int N,Array[1003],Solution[1003],result_coins;
bool Exist_Sum[50003];
void Read()
{
int i;
f>>N;
for(i=1;i<=N;i++)
f>>Array[i];
sort(Array+1,Array+N+1);
}
void Solve_Dinamic()
{
int i;
Exist_Sum[0]=1;
for(i=1;i<=N;i++)
if(Exist_Sum[Array[i]]==0)
{
Solution[++result_coins]=Array[i];
for(int j=0;j+Array[i]<=50000;j++)
if(Exist_Sum[j]==1)
Exist_Sum[j+Array[i]]=1;
}
}
void Print()
{
int i;
g<<result_coins<<"\n";
for(i=1;i<=result_coins;i++)
g<<Solution[i]<<"\n";
}
int main()
{
Read();
Solve_Dinamic();
Print();
return 0;
}