Pagini recente » Cod sursa (job #3167909) | Cod sursa (job #1391973) | Cod sursa (job #1886022) | Cod sursa (job #369793) | Cod sursa (job #2593830)
//
// main.cpp
// economie
//
// Created by Eusebiu Rares on 04/04/2020.
// Copyright © 2020 Eusebiu Rares. All rights reserved.
//
#include <iostream>
#include "fstream"
#include "vector"
#include "algorithm"
const int MV = 1000 ;
const int MAX_VAL = 50000 ;
std::fstream in ("economie.in", std::ios::in) ;
std::fstream out ("economie.out", std::ios::out) ;
int v[MV + 1] ;
bool sieve[MAX_VAL] ;
int main(int argc, const char * argv[]) {
int n ; in >> n ;
for (int i = 1 ; i <= n ; ++ i) {
in >> i[v] ;
}
std::sort(v + 1, v + 1 + n) ;
int ans(0) ;
sieve[0] = 1 ;
std::vector<int> sol ;
for (int i = 1 ; i <= n ; ++ i) {
if (!sieve[v[i]]) {
ans ++ ;
sieve[v[i]] = 1 ;
sol.push_back(v[i]) ;
for (int j = 1 ; j <= MAX_VAL - v[i] ; ++ j) {
sieve[j + v[i]] |= sieve[j] ;
}
}
}
out << ans << '\n' ;
for (auto it : sol) {
out << it << '\n' ;
}
}