Cod sursa(job #2394906)

Utilizator divianegoescuDivia Negoescu divianegoescu Data 2 aprilie 2019 08:57:02
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int n,i,j,maxim,v[1003],d[50003];
vector <int> sol;

int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>v[i];
        maxim=max(maxim,v[i]);
    }
    sort(v+1,v+n+1);
    d[0]=1;
    for(i=1;i<=n;i++){
        if(d[v[i]]==0){
            sol.push_back(v[i]);
            ///ii marcam multiplii
            for(j=0;j<=maxim-v[i];j++)
                if(d[j]==1)
                    d[j+v[i]]=1;
        }
    }
    fout<<sol.size()<<"\n";
    for(i=0;i<sol.size();i++)
        fout<<sol[i]<<" ";
    return 0;
}