Cod sursa(job #855816)

Utilizator alexalghisiAlghisi Alessandro Paolo alexalghisi Data 15 ianuarie 2013 17:35:10
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstring>
#define DN 1005
#define SMAX 50013
using namespace std;

int v[DN],r[DN];
bool se_poate[SMAX];

int main()
{
    int n;
    ifstream f("economie.in");
    ofstream g("economie.out");
    f>>n;
    for(int i=1;i<=n;++i)
        f>>v[i];
    sort(v+1,v+n+1);

    se_poate[0]=1;

    for(int i=1;i<=n;++i)
        if(se_poate[v[i]]==0)
        {
            r[++r[0]]=v[i];
        for(int j=0;j+v[i]<=50000;++j)
            if(se_poate[j])
               se_poate[j+v[i]]=se_poate[j];
        }

    g<<r[0]<<"\n";
    for(int i=1;i<=r[0];++i)
        g<<r[i]<<"\n";
    return 0;
}