Cod sursa(job #2565377)
| Utilizator | Data | 2 martie 2020 13:57:01 | |
|---|---|---|---|
| Problema | Economie | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <bits/stdc++.h>
#define NUM 50005
using namespace std;
bitset <NUM> c;
vector <int> sol;
int v[1005];
int n;
ifstream f("economie.in");
ofstream g("economie.out");
int main()
{
f >> n;
for(int i = 1; i <= n; ++i)
{
f >> v[i];
if(!c[v[i]])
{
c[v[i]] = 1;
sol.push_back(v[i]);
for(int j = 1; j < NUM - v[i]; ++j)
if(c[j])
c[j + v[i]] = 1;
}
}
g << sol.size() << '\n';
for(int i = 0; i < sol.size(); ++i)
g << sol[i] << '\n';
}
