Cod sursa(job #107978)

Utilizator filipbFilip Cristian Buruiana filipb Data 20 noiembrie 2007 23:21:05
Problema Economie Scor Ascuns
Compilator cpp Status done
Runda Marime 0.56 kb
#include <stdio.h>

int N, v[50005], res[50005], bst;

int main(void)
{
    int i, j;
    
    freopen("economie.in", "r", stdin);
    freopen("economie.out", "w", stdout);

    scanf("%d", &N);
    for (i = 1; i <= N; i++)
    {
        scanf("%d", &j);
        v[j] = 1;
    }

    res[0] = 1;
    for (i = 1; i <= 50000; i++)
    {
        if (v[i] && !res[i])
        {
            for (j = i; j <= 50000; j++)
                res[j] |= res[j-i];
            bst++;
        }
        
    }

    printf("%d\n", bst);

    return 0;
}