Cod sursa(job #1399003)

Utilizator emanuel_rRamneantu Emanuel emanuel_r Data 24 martie 2015 15:04:05
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<fstream>
#include<cmath>
#include<iostream>
#include<algorithm>

using namespace std;

ifstream f("economie.in");
ofstream g("economie.out");

int a[1005],s[50005],b[1005];
int n,nrf;

void citire()
{
    int i;
    f>>n;
    for(i=0;i<n;i++)
        f>>a[i];
    sort(a,a+n);
}

void rez()
{
    int i,maxi,j,k;
    maxi=a[n-1];
    s[0]=1;
    for(i=0;i<n;i++){
        if(s[a[i]]==0){
            b[nrf++]=a[i];
            for(j=0;j<=maxi-a[i];j++)
                if(s[j]==1)
                    s[j+a[i]]=1;
        }
    }
}

void scriere()
{
    int i;
    g<<nrf<<"\n";
    for(i=0;i<nrf;i++)
        g<<b[i]<<"\n";
}

int main()
{
    citire();
    rez();
    scriere();
    return 0;
}