Cod sursa(job #3154512)

Utilizator antonio_sefu_tauLaslau Antonio antonio_sefu_tau Data 4 octombrie 2023 21:27:41
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
const int dim1=1005,dim2=5e4+5;
int a[dim1],n,len,sol[dim1];
bool viz[dim2];
int main(){
    ifstream f("economie.in");
    ofstream g("economie.out");
    f>>n;
    for(int i=1;i<=n;i++){
        f>>a[i];
    }
    sort(a+1,a+n+1);
    viz[0]=1;
    for(int i=1;i<=n;i++){
        if(!viz[a[i]]){
            viz[a[i]]=1;
            sol[++len]=a[i];
            for(int j=a[i];j<dim2;j++){
                if(viz[j-a[i]]){
                    viz[j]=1;
                }
            }
        }
    }
    g<<len<<'\n';
    for(int i=1;i<=len;i++){
        g<<sol[i]<<' ';
    }
    return 0;
}