Pagini recente » Cod sursa (job #2733895) | Cod sursa (job #433427) | Cod sursa (job #889064) | Cod sursa (job #2971695) | Cod sursa (job #36475)
Cod sursa(job #36475)
#include<stdio.h>
int n,m,a[20000000],i,j,max,x;
int MAX(int x,int y)
{return x>y?x:y;}
int main()
{freopen("oite.in","r",stdin);
freopen("oite.out","w",stdout);
scanf("%d %d",&n,&m);
for(;n;n--)
{scanf("%d",&x);
for(j=max;j>=0;j--)
if(a[j]&&j+x<=m) {a[j+x]+=a[j];max=MAX(max,j+x);}
else if(j==0&&x<=m) {a[j+x]++;max=MAX(max,x);} }
printf("%d",a[m]);
fclose(stdout);
return 0;}