Nu aveti permisiuni pentru a descarca fisierul grader_test44.in
Cod sursa(job #1704950)
Utilizator | Popa Bogdan Ioan popabogdan | Data | 19 mai 2016 17:34:19 |
---|---|---|---|
Problema | Economie | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int a[1001],sol[1001],ap[50001];
bitset<50001>es;
int n,i,mx,fi,j;
int main()
{
fin>>n;
for(i=1;i<=n;i++)fin>>a[i],ap[a[i]]++,mx=max(mx,a[i]);
for(n=0,i=1;i<=mx;i++)
while(ap[i]--)a[++n]=i;
memset(ap,0,sizeof(ap));
es[0]=1;
fi=0;
for(i=1;i<=n;i++)
{
if(!es[a[i]])
sol[++fi]=a[i];
for(j=0;j+a[i]<=50000;j++)
if(es[j])
es[j+a[i]]=1;
}
fout<<fi<<"\n";
for(i=1;i<=fi;i++)fout<<sol[i]<<"\n";
return 0;
}