Mai intai trebuie sa te autentifici.
Cod sursa(job #3162442)
| Utilizator | Data | 29 octombrie 2023 11:39:43 | |
|---|---|---|---|
| Problema | Economie | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <fstream>
#include <vector>
#include <algorithm>
#define max_val 50000
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int v[1005];
int n;
bool c[max_val+5];
vector <int> sol;
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
fin>>v[i];
sort(v+1,v+n+1);
for(int i = 1;i<=n;i++)
{
if(!c[v[i]])
sol.push_back(v[i]);
c[v[i]]=true;
for(int j=1;j + v[i]<=max_val;j++)
if(c[j])
c[j + v[i]]=true;
}
fout<<int(sol.size())<<'\n';
for(auto& i : sol)
fout<<i<< ' ';
}
