Cod sursa(job #1140465)

Utilizator enedumitruene dumitru enedumitru Data 12 martie 2014 00:15:03
Problema Ghiozdan Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("ghiozdan.in"); ofstream out("ghiozdan.out");
int N,i,j,umax,u,lv,ln,G,a[20001],x[75002],t[75002];
int main()
{   in>>N>>G;
	for(i=1; i<=N; i++) in>>a[i];
	sort(a+1,a+N+1);
    ln=1; x[0]=1; umax=0;
    for(i=1; i<=N; i++)
    {   for(j=umax;j>=0;j--)
            if(x[j])
            {   u=j+a[i];
                if(u<=G) 
                {   if(x[u]==0) 
                    {   x[u]=x[j]+1, t[u]=i;
                        if(umax<u) umax=u;
                    }
                }       
            }
    }
    out<<umax<<' '<<x[umax]-1<<'\n';
    while(umax)
    {   out<<a[t[umax]]<<'\n';
        umax-=a[t[umax]];
    }
    out.close(); return 0;
}