Cod sursa(job #2987182)

Utilizator LucaT2Tasadan Luca LucaT2 Data 2 martie 2023 08:44:48
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("economie.in");
ofstream fout("economie.out");

int dp[50005];
int n,v[1005],s[1005];

int main()
{

    fin>>n;
    int sol,k=0;
    for(int i=1;i<=n;i++){
        fin>>v[i];
    }
    dp[0]=1;
    sort(v+1,v+n+1);
    for(int i=1;i<=n;i++)
        if(!dp[v[i]])
    {
        bool ok=true;
        for(int j=0;j<=v[n]-v[i];j++)
            if(dp[j])
                dp[j+v[i]]=1;

        for(int k=1;k<=n;k++){
            if(!dp[v[k]])
                ok=false;
        }
        k++;
        s[k]=v[i];
        if(ok){
            sol=k;
            break;
        }
    }
    fout<<sol<<"\n";
    for(int i=1;i<=sol;i++)
        fout<<s[i]<<"\n";
    return 0;
}