Pagini recente » Cod sursa (job #3277165) | Cod sursa (job #2061663) | Cod sursa (job #1612487) | Cod sursa (job #1768797) | Cod sursa (job #2456590)
#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);
for(i = 1 ; i <= n ; i++)
if(!dp[v[i]]){
used[i] = 1;
ans++;
dp[v[i]] = 1;
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 << i << "\n";
return 0;
}