Cod sursa(job #2602594)

Utilizator alex2209alexPavel Alexandru alex2209alex Data 17 aprilie 2020 13:35:32
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
int n,v[1001],raspuns;
bitset<50001>ap;
bitset<1001>rasp;
int main()
{
	f >> n;
	for(int i = 1; i <= n; ++i)
		f >> v[i];
	sort(v + 1,v + n + 1);
	for(int i = 1; i <= n; ++i)
		if(ap[v[i]] == 0)
		{
		    ap[v[i]] = 1;
		    raspuns++;
		    rasp[i] = 1;
		    for(int j = 1; j <= 50000 - v[i]; ++j)
                if(ap[j] == 1)
                    ap[j + v[i]] = 1;
		}
    g << raspuns << '\n';
    for(int i = 1; i <= n; ++i)
        if(rasp[i])
            g << v[i] << '\n';
	return 0;
}