Cod sursa(job #2656763)

Utilizator loraclorac lorac lorac Data 8 octombrie 2020 17:20:44
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("economie.in");
ofstream out("economie.out");
const int lim=5e4+5;
vector<int> ans;
bool dp[lim];
int v[1005];
int main()
{
    int n;
    in>>n;
    for(int i=1;i<=n;++i)
        in>>v[i];
    dp[0]=1;
    sort(v+1,v+n+1);
    for(int i=1;i<=n;++i)
    if(dp[v[i]]==0)
    {
        ans.push_back(v[i]);
        for(int t=0;t<=v[n]-v[i];++t)
        if(dp[t]) dp[t+v[i]]=1;
    }
    out<<ans.size()<<'\n';
    for(int x:ans) out<<x<<'\n';
    return 0;
}