Pagini recente » Rating Lukacs Andreea (barbie_mia) | Cod sursa (job #2917563) | Cod sursa (job #530162) | Cod sursa (job #252523) | Cod sursa (job #297885)
Cod sursa(job #297885)
#include <cstdio>
using namespace std;
#define Nmax 20011
#define Lmax 200
#define Inf 0x3f3f3f3f
int v[Nmax],n,frecv[Lmax+1],gmax,suma,lmax,g,nr,s[4*Nmax];
inline int max(int a, int b)
{
return a>b?a:b;
}
inline int min(int a, int b)
{
return a<b?a:b;
}
void read_data()
{
int i;
freopen("ghiozdan.in","r",stdin);
freopen("ghiozdan.out","w",stdout);
scanf("%d %d", &n,&g);
for (i=1;i<=n;++i)
{
scanf("%d", &v[i]);
lmax=max(lmax,v[i]);
frecv[v[i]]++;
}
}
void solve()
{
int ok,i,j;
gmax=g;
nr=0;
s[0]=0;
for (i=1;i<=g;++i)
s[i]=Inf;
for (i=1;i<=n;++i)
for (j=g;j>=1;--j)
if (s[j]!=Inf)
if (s[j+v[i]]>s[j]+1)
s[j+v[i]]=s[j]+1;
ok=0;
i=g;
while(!ok)
{
if (s[i]==Inf) --i;
else
ok=1;
}
gmax=i;
nr=s[i];
}
void write_data()
{
int i,j;
printf("%d %d\n", gmax,nr);
/*for (i=1;i<=nr;++i)
printf("%d\n", sol[i]);*/
}
int main()
{
read_data();
solve();
write_data();
return 0;
}