Cod sursa(job #2987335)

Utilizator alexcmeciu1Cmeciu Alexandru Cristian alexcmeciu1 Data 2 martie 2023 10:51:20
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int n,v[1005],maxim,nr,posibil[50005];
int res[1005];
int main()
{
    int k=0;
    fin>>n;
    for(int i=1;i<=n;i++){
        fin>>v[i];
        if(v[i]>maxim)maxim=v[i];
    }
    sort(v+1,v+n+1);
    posibil[0]=1;
    bool ok;
    for(int i=1;i<=n;i++)
        if(!posibil[v[i]]){
            ok=true;
       for(int j=0;j<=maxim-v[i];j++){
           if(posibil[j]){
            posibil[j+v[i]]=1;
           }
       }
       for(int i=1;i<=n;i++){
        if(!posibil[v[i]])ok=false;
       }
       res[++k]=v[i];
       if(ok){
        break;
       }
    }
    fout<<k<<'\n';
    for(int i=1;i<=k;i++)
        fout<<res[i]<<" ";
    return 0;
}