Cod sursa(job #829507)
Utilizator | Data | 5 decembrie 2012 16:01:54 | |
---|---|---|---|
Problema | Economie | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
using namespace std;
#include<fstream>
#include<algorithm>
#define VMax 50000
ifstream eu("economie.in");
ofstream tu("economie.out");
int A[1001],S[50005],N,C[1001];
int main()
{
int i,j,k;
eu>>N;
for(i=1;i<=N;i++)
eu>>A[i];
sort(A+1,A+N+1);
k=0;S[0]=1;
for(i=1;i<=N;i++)
{
if(!S[A[i]])
{
C[++k]=A[i];
}
for(j=0;j+A[i]<=VMax;j++)
if(S[j])
S[j+A[i]]=1;
}
tu<<k<<"\n";
for(i=1;i<=k;i++)
tu<<C[i]<<"\n";
return 0;
}