Cod sursa(job #775619)

Utilizator paunmatei7FMI Paun Matei paunmatei7 Data 8 august 2012 16:35:11
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
bool v[50007];
long n,nr,c[50006],a[1007];
void ciurdif()
{
    long i,j;
    c[1]=a[1];
    nr=1;
    for (i=0;i<=50000;i+=a[1])
        v[i]=1;
    for (i=2;i<=n;i++)
        if (v[a[i]]==0)
        {
            c[++nr]=a[i];
            v[a[i]]=1;
            for (j=1;j<=50000;j++)
                if (v[j]==1&&j+a[i]<=50000)
                    v[j+a[i]]=1;
        }
}
int main()
{
    long i;
    freopen("economie.in","r",stdin);
    freopen("economie.out","w",stdout);
    scanf("%ld",&n);
    for (i=1;i<=n;i++)
        scanf("%ld",&a[i]);
    sort (a+1,a+n+1);
    ciurdif();
    printf("%ld\n",nr);
    for (i=1;i<=nr;i++)
        printf("%ld\n",c[i]);
    return 0;
}