Cod sursa(job #1799052)
Utilizator | Data | 5 noiembrie 2016 18:29:37 | |
---|---|---|---|
Problema | Economie | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
int n,i,j,nr,v[1<<10],s[1<<10];
bool val[1<<17];
int main()
{
f>>n;
for(i=0;i<n;++i) f>>v[i];
sort(v,v+n);
for(i=0;i<n;++i)
{
if(!val[v[i]]) s[nr++]=v[i];
val[v[i]]=1;
for(j=0;j<=v[n-1]-v[i];++j)
if(val[j]) val[j+v[i]]=1;
}
g<<nr<<'\n';
for(i=0;i<nr;++i) g<<s[i]<<' ';
return 0;
}