Cod sursa(job #1310552)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 6 ianuarie 2015 22:47:00
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("economie.in");
ofstream out("economie.out");
const int VMAX = 50000;
const int NMAX = 1000;

int v[NMAX + 10],d[VMAX + 10],n,sol[NMAX + 10],e;

int main()
{

    in>>n;
    for(int i = 1 ; i <= n ; i++)
        in>>v[i];
    d[0] = 1;
    sort(v+1,v+n+1);
    for(int i = 1 ; i <= n ; i++)
    {

        if(d[v[i]] == 0){
            sol[++e] = v[i];
            for(int j = 0 ; j <= VMAX - v[i] ; j++)
                if(d[j+v[i]] == 0)
                d[j+v[i]] = d[j];
        }
    }
    out<<e<<"\n";
    for(int i = 1 ; i <= e ; i++)
        out<<sol[i]<<"\n";
    return 0;
}