Cod sursa(job #1276342)

Utilizator alexandra_udristoiuUdristoiu Alexandra Maria alexandra_udristoiu Data 26 noiembrie 2014 11:05:20
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
#include<algorithm>
using namespace std;
int n, i, j, nr;
int v[1001], f[50001], s[1001];
ifstream fin("economie.in");
ofstream fout("economie.out");
int main(){
	fin>> n;
	for(i = 1; i <= n; i++){
		fin>> v[i];
	}
	sort(v + 1, v + n + 1);
	f[0] = 1;
	for(i = 1; i <= n; i++){
		if(f[v[i]] == 0){
			s[++nr] = v[i];
			for(j = 0; j <= v[n]; j++){
				if(j + v[i] <= v[n]){
					if(f[j] == 1){
						f[j+v[i]] = 1;
					}
				}
				else{
					break;
				}
			}
		}
	}
	fout<< nr <<"\n";
	for(i = 1; i <= nr; i++){
		fout<< s[i] <<" ";
	}
	return 0;
}