Pagini recente » Cod sursa (job #2377543) | Cod sursa (job #827784) | Cod sursa (job #2246576) | Cod sursa (job #1697091) | Cod sursa (job #2395772)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int n,x,maxim,k,minim,i1,i,g1,g,s;
int d[50004],v[1004];
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>v[i];
maxim=max(v[i],maxim);
}
for(int i=1;i<=maxim;i++)
d[i]=50001;
for(int i=1;i<=n;i++)
{
for(int j=maxim;j>=0;j--)
if(v[i]+j<=maxim)
{
d[j+v[i]]=min(d[j+v[i]],v[i]);
}
}
for(int i=1;i<=n;i++)
if(d[v[i]]!=d[v[i+1]])
s++;
fout<<s<<"\n";
for(int i=1;i<=n;i++)
if(d[v[i]]!=d[v[i+1]])
fout<<d[v[i]]<<"\n";
return 0;
}