Cod sursa(job #1672427)
| Utilizator | Data | 2 aprilie 2016 18:32:39 | |
|---|---|---|---|
| Problema | Economie | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f ("economie.in");
ofstream g ("economie.out");
int n, i, a[1001], k, sol[1001], j;
int s[100001];
int main ()
{
f >> n;
for (i=1; i<=n; i++)
f >> a[i];
sort(a+1,a+n+1);
s[0]= 1;
for(i=1; i<=n; i++){
if (s[a[i]] == 0){
k++;
sol[k] = a[i];
for(j=0; j<=a[n]; j++)
if(s[j]==1) s[j+a[i]] = 1;
}
}
g << k << '\n';
for (i=1; i<=k; i++)
g << sol[i] << '\n';
return 0;
}
