Cod sursa(job #1937471)

Utilizator Daria09Florea Daria Daria09 Data 23 martie 2017 23:13:11
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>
#define DIM 1005
#include <algorithm>
using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
int a[DIM],sol[DIM]; bool ok[50005];
void solve()
{
    int n,i,k=0,j;
    f>>n;
    for(i=1;i<=n;i++)
        f>>a[i];
    sort(a+1,a+n+1);
    for(i=1;i<=n;i++)
        if(ok[a[i]]==0)
    {
        sol[++k]=a[i];
        ok[a[i]]=1;
        for(j=1;j<=a[n]-a[i];j++)
            if(ok[j]==1)
            ok[j+a[i]]=1;
    }
    g<<k<<'\n';
    for(i=1;i<=k;i++)
        g<<sol[i]<<'\n';
}
int main()
{
    solve();
    return 0;
}