Pagini recente » Cod sursa (job #1145323) | Cod sursa (job #1218343) | Cod sursa (job #1661794) | Cod sursa (job #367145) | Cod sursa (job #2732391)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("economie.in");
ofstream fout ("economie.out");
int main()
{
int i, j, n, m, vmax;
int buff[1001], a[1001];
bool b[1001] = {};
int val[100001] = {};
fin >> n;
for (i = 1; i<=n; i++)
{
fin >> buff[i];
val[buff[i]] = 1;
}
sort(buff+1, buff+n+1);
m = 0;
for (i = 1; i<=n; i++)
if (buff[i-1] != buff[i])
a[++m] = buff[i];
vmax = a[m];
for (i = 1; i<vmax; i++)
if (val[i] != 0)
for (j = 1; i + a[j] <= vmax; j++)
val[i+a[j]] = 2;
for (i = m; i>=1; i--)
if (val[a[i]] == 1)
b[i] = 1;
j = 0;
for (i = 1; i<=m; i++)
if (b[i] == 1)
j++;
fout << j << '\n';
for (i = 1; i<=m; i++)
if (b[i] == 1)
fout << a[i] << '\n';
return 0;
}