Cod sursa(job #1240523)

Utilizator RRomaniucRomaniuc Radu Andrei RRomaniuc Data 11 octombrie 2014 15:26:15
Problema Ghiozdan Scor 42
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<fstream>
using namespace std;
ifstream f("ghiozdan.in");
ofstream g("ghiozdan.out");
bool ok[75002];
int ob[75002], N, G, g_obiect, maxim, ultim[70002], suma, nr, i, j;
int main()
{
    f>>N>>G;

    ok[0]=1;
    for(i=1;i<=N;i++)
    {
        f>>g_obiect;
        for(j=G;j>=0;j--)
            if(ok[j]==1)
                if(j+g_obiect<=G)
                {
                    ok[j+g_obiect]=1;
                    if(ob[j+g_obiect]==0)
                    {
                        ob[j+g_obiect]=ob[j]+1;
                    }
                    else if(ob[j+g_obiect]>ob[j]+1)
                    {
                        ob[j+g_obiect]=ob[j]+1;
                    }
                }
    }

    for(i=G;i>=0;i--)
        if(ok[i]==1)
        {
            g<<i<<" "<<ob[i]<<endl;
            suma=i; nr=ob[i]; break;
        }


    return 0;
}