Pagini recente » Cod sursa (job #597303) | Cod sursa (job #229907) | Cod sursa (job #1586556) | Cod sursa (job #2177971) | Cod sursa (job #1434213)
#include <fstream>
#include <algorithm>
using namespace std;
#define inFile "economie.in"
#define outFile "economie.out"
#define MAX_N 1000
#define MAX_VAL 50000
ifstream in(inFile);
ofstream out(outFile);
int V[MAX_N + 1];
int S[MAX_N + 1], nSol;
bool P[MAX_VAL + 1];
int main() {
int N, i, j, maxVal = 0;
in >> N;
for(i = 1; i <= N; i++) {
in >> V[i];
maxVal = max(V[i], maxVal);
}
sort(V+1, V+N+1);
for(i = 1; i <= N; i++) {
if(!P[V[i]]) {
for(j = 1, P[V[i]] = true; j <= maxVal; j++)
if(P[j] == true)
P[j+V[i]] = true;
S[++nSol] = V[i];
}
}
out << nSol << '\n';
for(i = 1; i <= nSol; i++)
out << S[i] << '\n';
return 0;
}