Cod sursa(job #949319)

Utilizator sandugavrilaGavrila Alexandru sandugavrila Data 13 mai 2013 12:59:57
Problema Ghiozdan Scor 12
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>
#include <cstring>

using namespace std;
int v[20005],d[100000],sol[20005];
int main()
{
    freopen("ghiozdan.in","r",stdin);
    freopen("ghiozdan.out","w",stdout);

    int n,g,i,j,max,q=0;
    scanf("%d%d",&n,&g);
    for(i=1;i<=n;i++) scanf("%d",&v[i]);

    memset(d,-1,sizeof(d));
    max=0;d[0]=0;
    for(i=1;i<=n;i++)
    {
        for(j=max;j>=0;j--)
        {
            if(d[j]!=-1)
                d[j+v[i]]=d[j]+1;
            if(j+v[i]>max)
                max=j+v[i];
        }
    }
    while(d[g]==-1) g--;
    printf("%d %d",g,d[g]);

    return 0;
}