Pagini recente » Cod sursa (job #1503540) | Cod sursa (job #3286960) | Cod sursa (job #1304051) | Cod sursa (job #1021176) | Cod sursa (job #2037362)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
struct economie
{
int a,b;
}v[1001],sol[1001];
int cmp(economie x,economie y)
{
return x.a<=y.a;
}
int i,j,n,nr;
bool fr[50001];
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>v[i].a;
v[i].b=i;
}
sort(v+1,v+n+1,cmp);
nr=0;
fr[0]=1;
for(i=1;i<=n;i++)
if(fr[v[i].a]==0)
{
nr++;
sol[nr].b=v[i].a;
sol[nr].a=v[i].b;
for(j=v[i].a;j<=v[n].a;j++)
fr[j]=fr[j-v[i].a];
}
g<<nr<<'\n';
sort(sol+1,sol+nr+1,cmp);
for(i=1;i<=nr;i++)
g<<sol[i].b<<'\n';
return 0;
}