Pagini recente » Cod sursa (job #29418) | Cod sursa (job #1545791) | Cod sursa (job #2214202) | Cod sursa (job #11306) | Cod sursa (job #2277618)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
const int NMAX = 1000, SMAX = 50001;
int V[NMAX + 5], N;
bool S[SMAX + 5];
int main()
{
fin >> N;
for(int i = 0; i < N; i++)
fin >> V[i];
sort(V, V + N);
S[0] = true;
for(int i = 0; i < N; i++)
{
for(int k = 0; k < SMAX; k++) {
if(S[k] && k + V[i] < SMAX)
S[k + V[i]] = true;
}
bool ok = true;
for(int j = i + 1; j < N; j++) {
if(!S[V[j]]) {
ok = false;
break;
}
}
if(ok) {
fout << i + 1 << '\n';
for(int k = 0; k <= i; k++)
fout << V[k] << '\n';
break;
}
}
fin.close();
fout.close();
return 0;
}