Cod sursa(job #2869557)

Utilizator dariusbandilaBandila Darius-Mihai dariusbandila Data 11 martie 2022 17:24:23
Problema Economie Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
/**
 ____ ____ ____ ____ ____
||d |||a |||r |||i |||u ||
||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|
///* economie * isi cere drepturile inapoi! dariusbandila17 de pe pbinfo/infoarena i-a furat prestigiul!
**/
#include <bits/stdc++.h>
using namespace std;
ifstream fin("window.in");
ofstream fout("window.out");
int v[1001],sol[1001];
bool fr[50001];
int main(){
    int n,rez=0,poz=0;
    fin>>n;
    for(int i=0;i<n;i++)
    {
        fin>>v[i];
    }
    sort(v,v+n);
    int valmax=v[n-1];
    fr[0]=1;
    for(int i=0;i<n;i++){
        if(fr[v[i]]==0){
            rez++;
            sol[rez]=v[i];
            fr[v[i]]=1;
            for(int j=0;j+v[i]<=valmax;j++)
                if(fr[j]==1)fr[j+v[i]]=1;
        }
    }
    fout<<rez<<"\n";
    for(int i=1;i<=rez;i++)
        fout<<sol[i]<<" ";
}