Mai intai trebuie sa te autentifici.
Cod sursa(job #414227)
| Utilizator | Data | 9 martie 2010 20:50:26 | |
|---|---|---|---|
| Problema | Economie | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
using namespace std;
#include <fstream>
#include <iostream>
#include <algorithm>
#include <cassert>
int v[50005], n ,Max, c[1001], nc,a[1001];
int main(){
ifstream fin("economie.in");
fin>>n;
for(int i=1;i<=n;++i){
int x;
fin>>x;
a[i]=x;
v[x]=1;
if(x>Max)
Max=x;
}
sort(a+1,a+n+1);
v[0]=2;
for(int i=1;i<=n;++i)
if(v[a[i]]==1){
c[++nc]=a[i];
v[a[i]]=2;
for(int j=1;j<=Max;++j)
if(v[j]==2)
v[j+a[i]]=2;
}
for(int i=1;i<=Max;++i)
assert(v[i]!=1);
ofstream fout("economie.out");
fout<<nc<<"\n";
for(int i=1;i<=nc;++i)
fout<<c[i]<<"\n";
fout.close();
return 0;
}
