Pagini recente » Cod sursa (job #699744) | Cod sursa (job #2682592) | Cod sursa (job #3281244) | Cod sursa (job #2542379) | Cod sursa (job #2456593)
#include <bits/stdc++.h>
using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
const int NMAX = 1005;
const int LIM = 50005;
int n,v[NMAX], dp[LIM], used[NMAX], MAX, ans;
int main(){
int i,j;
f >> n;
for(i = 1 ; i <= n ; i++){
f >> v[i];
MAX = max(MAX, v[i]);
}
sort(v + 1, v + n + 1);
dp[0] = 1;
for(i = 1 ; i <= n ; i++)
if(!dp[v[i]]){
used[i] = 1;
ans++;
for(j = 0 ; j <= MAX - v[i]; j++)
if(dp[j])
dp[j + v[i]] = 1;
}
g << ans << "\n";
for(i = 1 ; i <= n ; i++)
if(used[i])
g << v[i] << "\n";
return 0;
}