Pagini recente » Cod sursa (job #364058) | Cod sursa (job #2548089) | Diferente pentru implica-te/arhiva-educationala intre reviziile 211 si 210 | Cod sursa (job #1374880) | Cod sursa (job #854468)
Cod sursa(job #854468)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in ("economie.in");
ofstream out ("economie.out");
int V[1010];
int Sol[1010];
bool Pos[50000010];
int main ()
{
int N, i, j;
in >> N;
for (i = 1; i <= N; i ++){
in >> V[i];
if (V[i] == 1){
out << "1\n1";
return 0;
}
}
sort (V + 1, V + N + 1);
Pos[0] = 1;
for (i = 1; i <= N; i ++)
if (!Pos[ V[i] ]){
Sol[ ++ Sol[0] ] = V[i];
for (j = 0; j + V[i] <= V[N]; j ++)
if (Pos[j])
Pos[ j + V[i] ] = 1;
}
for (i = 0; i <= Sol[0]; i ++)
out << Sol[i] << "\n";
return 0;
}