Pagini recente » Cod sursa (job #726542) | Cod sursa (job #2192602) | Cod sursa (job #602394) | Cod sursa (job #2817158) | Cod sursa (job #1434222)
#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]]) {
P[V[i]] = true;
for(j = 1; j <= maxVal - V[i]; j++) {
if(P[j] == 1) {
P[j + V[i]] = 1;
}
}
S[++nSol] = V[i];
}
}
out << nSol << '\n';
for(i = 1; i <= nSol; i++)
out << S[i] << '\n';
return 0;
}