P1164 小A点菜

#include<iostream>
#include<cstdio>
using namespace std;
int a[1001],f[1001][10001]={0};
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;++i)
        scanf("%d",&a[i]);
    for(int i=1;i<=n;++i)
      for(int j=1;j<=m;++j)
      {
          if(j==a[i])f[i][j]=f[i-1][j]+1;//刚刚好能买就直接加一
          if(j>a[i]) f[i][j]=f[i-1][j]+f[i-1][j-a[i]];、、还有多的就继续
          if(j<a[i]) f[i][j]=f[i-1][j];//不购买了就还是之前的制
      }
    printf("%d",f[n][m]);
    return 0;
}
posted @ 2018-07-19 11:05  JerryVoider  阅读(107)  评论(0编辑  收藏  举报