Cod sursa(job #2422548)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 19 mai 2019 09:59:04
Problema Ghiozdan Scor 54
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <cstdio>
#include <iostream>
#include <algorithm>

using namespace std;
int w[75001],f[201];
int main()
{
    FILE *fin=fopen ("ghiozdan.in","r");
    FILE *fout=fopen ("ghiozdan.out","w");
    int n,g,i,j,x,k,sol;
    fscanf (fin,"%d%d",&n,&g);
    for (i=1;i<=n;i++){
        fscanf (fin,"%d",&x);
        f[x]++;
    }
    for (i=200;i;i--){
        for (j=g;j;j--){
            for (k=1;k<=f[i] && j - i * k >=0 ; k++){
                if ((w[j - i*k] || j == i*k) && !w[j])
                    w[j] = k + w[j - i*k];
            }
        }
    }
    sol = g;
    while (!w[sol])
        sol--;
    fprintf (fout,"%d %d\n",sol,w[sol]);
    /// doar testez daca nu iau tle:)
    return 0;
}