Pagini recente » Cod sursa (job #2385353) | Cod sursa (job #2844276) | Cod sursa (job #921794) | Cod sursa (job #1199855) | Cod sursa (job #199597)
Cod sursa(job #199597)
#include <stdio.h>
#define INF 30000
#define N 75002
int g[N],f[201],n,G,v[N];
void citeste(){
int x;
freopen("ghiozdan.in","r",stdin);
freopen("ghiozdan.out","w",stdout);
scanf("%d%d",&n,&G);
for(int i=1;i<=n;i++){
scanf("%d",&x);
f[x]++;
}
}
void solve(){
int i,j,k;
for(i=1;i<=G;i++)
v[i]=INF;
for(i=1;i<=200;i++)
for(k=G-i;k>=0;k--)
if(v[k]!=INF)
for(j=1;j<=f[i];j++)
if(k+i*j<=G && v[k+i*j]>v[k+i*(j-1)]+1)
v[k+i*j]=v[k+i*(j-1)]+1;
else break;
for(i=G;i>=1;i--)
if (v[i]!=INF){
printf("%d %d\n",i,v[i]);
break;
}
}
int main(){
citeste();
solve();
return 0;
}