Pagini recente » Cod sursa (job #2576542) | Cod sursa (job #412168) | Cod sursa (job #1501753) | Cod sursa (job #2596586) | Cod sursa (job #36474)
Cod sursa(job #36474)
#include<stdio.h>
int n,m,a[2000000000],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;}