Cod sursa(job #2037363)

Utilizator AndaionicaIonica Anda Maria Andaionica Data 12 octombrie 2017 08:27:29
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#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';

    for(i=1;i<=nr;i++)
        g<<sol[i].b<<'\n';
    return 0;
}